在JFrame中显示异常

时间:2012-07-18 09:37:13

标签: java swing jframe

我使用swing(JFrame)作为我的应用的UI。我需要使用try / catch将程序面对的异常显示为JFrame的红色标签。

目前我正在这样做:

  some class extends JFrame 
  {      

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

         {
              try{
                   //some code

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


  }

所以想知道用catch块写的一行代码是否正确? 如果(是= ok)thx

否则请告诉我将Exception打印为JFrame上的标签的方法。

提前......

1 个答案:

答案 0 :(得分:3)

上面的代码可能不起作用,因为似乎更新代码似乎不在Event Dispatcher Thread(EDT)中运行。该线程负责更新UI,响应事件等。

您很可能必须使用SwingUtilities.invokeLater(Runnable run)来更新文字。

话虽如此,大多数Swing应用程序(据我所知)通常倾向于使用JOptionPane来向用户显示错误消息和/或任何其他通知。

在线查找两个例子都没有问题。