2012-07-18 110 views
1

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

目前我在做这个:

some class extends JFrame 
    {  

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

     { 
       try{ 
        //some code 

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


    } 

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

否则请告诉我如何在JFrame上打印Exception作为标签。提前

THX ..

+0

你的代码将被编译,应该运行得很好。你的意思是什么? – Mohayemin 2012-07-18 09:42:34

+0

我的意思是它没有在jframe中的标签中显示任何异常。 – Mohit 2012-07-18 09:45:45

回答

3

上面的代码可能无法正常工作,因为它似乎并不更新代码在事件分派线程(EDT)中运行。此线程负责更新您的UI,响应事件等。

您很可能必须使用SwingUtilities.invokeLater(Runnable run)来更新文本。也就是说,大多数Swing应用程序(据我所知)通常倾向于使用JOptionPane s来向用户显示错误消息和/或任何其他通知。

你应该没有问题找到两个在线的例子。

+0

我认为JOptionPanes是更好,更容易与之合作的东西。 – Mohit 2012-07-18 10:24:37