2017-02-10 9 views
0

JPanelクラスを内部に作成するJFrameがあります。 JPanelクラスの中で、私は矩形を描画して領域を再描画する関数を持っていますが、私はJPanelに行き、mainメソッドからメソッドを実行する方法がありません。JFrame内のJPanelで非静的メソッドを呼び出す

private static void createAndShowGUI() { //This is run by the main method 
    JFrame f = new JFrame("Program Name"); 
    f.setResizable(false); 
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    f.add(new MyPanel()); //I need to access this MyPanel that I just created. 
    f.pack(); 
    f.setVisible(true); 

    Utils.debug("Swing JFrame initialized."); // don't worry about this 
    Utils.print("Initialization complete!"); //or this 

    Utils.sleep(1.0); //or this 

    //This is where I need to access the MyPanel class inside JFrame f. 
} 
+2

イベントディスパッチスレッドで 'sleep()'を呼び出すのは心配です。 – trashgod

+0

プログラムの流れは基本的にその時点で止まるので、問題はありません。私はKhanAcademyのjavascriptプログラムのように少し見えるようにプログラムを設計するつもりですが、これはすべて私の "キャンバス"を設定するだけです。 –

答えて

0

これを投稿した直後に解決策が見つかりました。

MyPanel panel = new MyPanel(); 
f.add(panel); 

... 

panel.method(args); 

誰かがこの問題を抱えていれば、私はこのままにしておきます。

関連する問題