2012-03-09 15 views
1

jframeを拡張するクラスを作成しました。 私は、jframeといくつかのコンポーネントの境界線レイアウトと、いくつかのボタンとjcomboboxを保持する絶対レイアウトのjpanelを持っています。コンボボックスは、テーブルからいくつかの値を保持します。テーブルはmysqlクエリから値を取得します。ボタンを使っていくつかのレコードを削除または追加して、テーブルを更新します。データ変更時のJframeのリフレッシュ

値は更新されないコンボボックスを除いてすべて素晴らしいです。私はjframeを閉じて、再び開く必要があります。私は再ペイントなどについて多くの記事やチュートリアルを読んでいますが、私の場合は何もうまくいかないようです。アクションリスナーは、jframeを拡張するのと同じクラスです。

これを行う方法は? 私はJavaプログラミングの初心者ですので、簡単にしてください。 ありがとうございました!

+2

何が起こっているかを確認するためにいくつかのコードを入れてください。 SSCCEは理想的です(http://sscce.org) –

+0

操作後にコンボボックスの値を再読み込みしていますか? –

+0

モデルを変更した後、JComboBoxで 'revalidate()'を試してみましたか? –

答えて

3

SwingUtilities.invokeLater(new Runnable())またはjava.awt.EventQueue.invokeLater(new Runnable())について聞いたことがありますか?

このスレッドを読むことは有用である可能性:あなたのmainメソッドに追加することができますConcurrency in Swing

サンプルコードスニペットは:

java.awt.EventQueue.invokeLater(new Runnable() { 
    public void run() { 
     JFrame frame = new JFrame(); 
     frame.setVisible(true); 
       ... 
    } 
}); 
+0

ありがとうございました!私はこれについて聞いたことがありません。私は今読むでしょう! – Vagelism

+0

Ok ...私はそれを読んで、正直言って私は多くのことを理解していません。このコードの使い方の例は? – Vagelism

+0

@GagandeepBali私はあなたの材料が良いと思う、私はちょうどOPにアイデアを与えたいと思っていた。 – Juvanis

関連する問題