完全是Java新手,我正处于一个完整的砖墙。
我的系统上有一个JTextArea,我希望有一个实时更新,所以当某些东西被添加到table2(在我的数据库中)时,我的服务器从数据库中提取新值,然后更新JTextArea。 / p>
我完全不知道如何做到这一点,虽然我已经知道我需要使用Thread来使它工作。
非常感谢任何/所有帮助(我对此有点紧张)
答案 0 :(得分:5)
您可以做的是让您的线程在给定的时间段内轮询您的数据库,否则,让更新数据库的过程触发您的GUI类可以接收的某种事件。
一旦发生这种情况,您就可以使用SwingUtilities.invokeLater()更新您的JTextArea。这样的事情应该做:
if (eventIsFired)
{
final String jtextAreaText = ...
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
jTextArea.setText(jTextAreaText);
}
});
}
假设jTextArea
是您实际的JTextArea,它被声明为全局变量。 jTextAreaText
需要被声明为final,以便可以通过内部类访问它。