1

アプリのUIとしてswing(JFrame)を使用しています。JFrame のラベルに赤色の try/catch を使用して、プログラムが直面する例外を表示する必要があります。

現在、私はこれをやっています:

  some class extends JFrame 
  {      

         JLabel label=new JLabel("");
         add(label);
         findFile()

         {
              try{
                   //some code

                 }
              catch(IOException e)
                 {
                    label.setText(e.toString());
                 }


  }

catch ブロックで書かれた 1 行のコードが正しいかどうか知りたいですか? もし (はい=OK) thx

それ以外の場合は、例外を JFrame のラベルとして出力する方法を教えてください。

事前にThx..

4

1 に答える 1

3

上記のコードは、更新コードがイベント ディスパッチャー スレッド (EDT) 内で実行されているように見えないため、機能しない可能性があります。このスレッドは、UI の更新、イベントへの応答などを処理します。

テキストを更新するには、おそらく SwingUtilities.invokeLater(Runnable run)を使用する必要があります。

そうは言っても、ほとんどの Swing アプリケーション (私の知る限り) は通常、JOptionPaneを使用してエラー メッセージやその他の通知をユーザーに表示する傾向があります。

両方の例をオンラインで見つけるのに問題はないはずです。

于 2012-07-18T09:45:16.837 に答える