2012-02-08 14 views
-1

私のリフレッシュとリフレッシュ2メソッドは、新しいウィンドウjpanelを表示させます。私はテキストエリアを同じウィンドウで更新したい。私は右のjpanelを呼んでいるとは思わない。これをどうやって解決するのですか?また、なぜ新しいウィンドウを作成していますか?java gui textareaが正しく更新されない

public static void main(String[] args) { 
       MPUComp frame = new MPUComp(); 
       frame.setVisible(true); 

} 
public MPUComp() { 
    setTitle("Mpu Finder"); 
    ImageIcon LoadIco = new ImageIcon(getClass().getResource("load.png")); 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setBounds(100, 100, 799, 680); 

    contentPane = new JPanel(); 
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
    setContentPane(contentPane); 
    contentPane.setLayout(null); 
    btnFind1.setBounds(250, 27, 68, 23); 

    contentPane.add(btnFind1); 
    btnLoadMpu.setBounds(328, 27, 36, 22); 
    btnLoadMpu.setIcon(LoadIco); 
    contentPane.add(btnLoadMpu); 
    btnFind2.setBounds(642, 27, 68, 23); 
    contentPane.add(btnFind2); 
    btnLoadMpu2.setBounds(720, 28, 36, 22); 
    btnLoadMpu2.setIcon(LoadIco); 
    contentPane.add(btnLoadMpu2); 
    menu(); 

} 
public void refresh(String pane1) { 
    textArea_1.append(pane1 + "\n"); 
    contentPane.revalidate(); 
    contentPane.repaint(); 
    setVisible(true); 
} 
public void refresh2(String pane1) { 
     textArea_2.append(pane1 + "\n"); 
     contentPane.revalidate(); 
     contentPane.repaint(); 
     setVisible(true); 

} 
+0

完全なソースコードを投稿してください。あなたが提供したものは、 'refresh'メソッドを全く呼び出さない – mbatchkarov

答えて

5
  1. Swingコンポーネントは、必見はない使用しています
  2. をコンテナを無効または再描画要求を発行する必要はありませんイベントディスパッチスレッド
  3. に更新されますnullレイアウトマネージャー
  4. このような質問をするときは、これらのようなの

質問はほとんど50回日求められます。次回は、すでに十分に答えられている関連項目を検索してください。

詳細については、Concurrency in Swingを参照してください。

+0

私はtextarea.appendだけでinvokelaterを使ってみましたが、動作しません。 –

+1

@CharlieMorrison、より早く助けを求めるために、4を参照してください。 – mre

+0

私は気づきましたメインではなく別のクラスでメソッドを呼び出すと動作します –

関連する問題