1

jframeを拡張するクラスを作りました。jframeといくつかのコンポーネントのボーダーレイアウトと、いくつかのボタンとjcomboboxを保持する絶対レイアウトのjpanelがあります。コンボ ボックスには、テーブルからのいくつかの値が保持されます。テーブルは mysql クエリから値を取得します。ボタンを使用していくつかのレコードを削除または追加してから、テーブルを更新します。

値を更新しないコンボボックスを除いて、すべてうまく機能します。動作させるには、jframe を閉じてから再度開く必要があります。再描画などに関する多くの記事やチュートリアルを読みましたが、私の場合は何も機能していないようです。アクション リスナーも、jframe を拡張する同じクラスです。

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

4

1 に答える 1

3

聞いたSwingUtilities.invokeLater(new Runnable())java.awt.EventQueue.invokeLater(new Runnable())

このスレッドを読むと役立つ場合があります:Swingでの並行性

mainメソッドに追加できるサンプルコードスニペット:

java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
        JFrame frame = new JFrame();
        frame.setVisible(true);
                ...
    }
});
于 2012-03-09T07:47:07.393 に答える