1

つい最近、しばらく取り組んでいなかったプロジェクトに戻りました。この新しいプログラミング セッションで初めて実行したときは、読み込みに 3 分以上かかりました。前回の作業時 (約 3 か月前) と現在との間に何が変わったのかはわかりませんが、コードが変更されていないことはわかっています。

問題を JFrame コンストラクターまで追跡しました。この投稿を見つけました:

JFrame コンストラクターへの最初の呼び出しは、Swing アプリケーションの起動時に長い時間がかかります (java.awt.Window() のため)。

ただし、彼の問題は数百ミリ秒しかかからなかったため、関連性があるようです。簡単なテストに彼のコードを使用したところ、出力は次のようになりました。

最初の JFrame の場合は 202720。
2 番目の JFrame の場合は 0。

jdk-7u7-windows-x64 を使用しています。何が原因なのかまったくわからないので、助けていただければ幸いです。

ありがとうございました。

編集リンクされた投稿からコピーしたコードは次のとおりです。

import javax.swing.*;
public class Main {
public static void main(String[] args) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            long start;

            start = System.currentTimeMillis();
            JFrame frame1 = new JFrame("Frame1");
            System.out.println((System.currentTimeMillis() - start) + " for first JFrame.");

            start = System.currentTimeMillis();
            JFrame frame2 = new JFrame("Frame2");
            System.out.println((System.currentTimeMillis() - start) + " for second JFrame.");

            frame1.setVisible(true);
            frame2.setVisible(true);
        }
    });     
}
}

編集私は通常の推測作業をすべて行いました

+ Eclipse の再起動
+ Windowsの再起動
+ Java の再インストール
+ Jar にエクスポート (同じ結果)
4

0 に答える 0