我使用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上的标签的方法。
提前......
答案 0 :(得分:3)
上面的代码可能不起作用,因为似乎更新代码似乎不在Event Dispatcher Thread(EDT)中运行。该线程负责更新UI,响应事件等。
您很可能必须使用SwingUtilities.invokeLater(Runnable run)来更新文字。
话虽如此,大多数Swing应用程序(据我所知)通常倾向于使用JOptionPane来向用户显示错误消息和/或任何其他通知。
在线查找两个例子都没有问题。