3

Java はまったく初めてで、完全なレンガの壁に直面しています。

システムに JTextArea があり、ライブ アップデートが必要なため、(データベース内の) table2 に何かが追加されると、サーバーはデータベースから新しい値を取得し、JTextArea を更新します。

これを行う方法はまったくわかりませんが、それを機能させるには Thread を使用する必要があることがわかりました。

どんな/すべての助けも大歓迎です(私はこれに少し時間がかかります)

4

1 に答える 1

6

できることは、特定の期間にスレッドにデータベースをポーリングさせるか、データベースを更新しているプロセスに、GUI クラスが取得できる何らかのイベントを発生させることです。

これが発生したら、SwingUtilities.invokeLater()を使用して JTextArea を更新できます。このようなことをする必要があります:

if (eventIsFired)
{
    final String jtextAreaText = ...
    SwingUtilities.invokeLater(new Runnable()
    {
        @Override
        public void run()
        {
            jTextArea.setText(jTextAreaText);
        }            
    });
}

仮定はjTextArea、グローバル変数として宣言されている実際の JTextArea であるということです。jTextAreaText内部クラスからアクセスできるように、最終的に宣言する必要があります。

于 2012-02-17T06:26:45.750 に答える