我想问一些关于线程使用的问题。我查看了很多帖子和这些帖子中建议的链接,但仍然空白。我有一个有几个类的 NetBeans 项目。其中之一是我用来单击按钮并执行一些处理的 Gui 类。从 Gui 我调用另一个类的实例,该类又调用其他类。其中一个类将 Sparql 查询提交到 TDB 后端数据库。现在所有输出都保存到文件中。
我想做的是以某种方式使从 Gui 调用的类在另一个线程上运行,并且还能够从一个或多个调用的类更新 Gui 上的 EditorPane 和 TextArea。到目前为止,我已经尝试调用 Gui 类的实例并在其中使用公共方法,但这不起作用。我正在调用实例 Gui
Gui gui = new Gui();
gui.setEditorPaneText("File name is: " + fn);
Gui 类中的方法是
public void setEditorPaneText(final String string) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
setString(string);
EditorPane.setText(getString());
EditorPane.repaint();
}
});
}
我尝试运行调试器,但处理从方法的第一行跳到最后一个大括号,而不处理其中的代码。我的 Gui 类有以下作为主要方法。评论部分是我在阅读有关该问题的大量帖子时更改的事件队列的先前版本。
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Gui().setVisible(true);
throw new UnsupportedOperationException("Not supported yet.");
}
});
}
以下是我在阅读了有关此问题的一些帖子后替换的 main 方法的先前代码。
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Gui().setVisible(true);
}
});
任何有用的信息将不胜感激。谢谢你。