1

我正在使用 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块写的一行代码是否正确?如果(是=确定)谢谢

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

提前谢谢..

4

1 回答 1

3

上面的代码可能不起作用,因为更新代码似乎没有在事件调度程序线程 (EDT) 中运行。该线程负责更新您的 UI、响应事件等。

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

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

在网上找到这两个例子应该没​​有问题。

于 2012-07-18T09:45:16.837 回答