我制作了一个扩展 jframe 的类。 我有一个 jframe 的边框布局和一些组件以及一个带有绝对布局的 jpanel 来容纳一些按钮和一个 jcombobox。组合框包含表格中的一些值。该表从 mysql 查询中获取值。我通过按钮删除或添加一些记录,然后更新表格。
除了不刷新值的组合框外,一切都很好。为了工作,我必须关闭 jframe 并再次打开它。我阅读了许多关于重绘等的文章和教程......但在我的案例中似乎没有任何效果。 Action 监听器也是扩展 jframe 的同一个类。
有什么办法吗? 请保持简单,因为我是 Java 编程的新手。 谢谢!
最佳答案
您听说过 SwingUtilities.invokeLater(new Runnable())
或 java.awt.EventQueue.invokeLater(new Runnable())
吗?
阅读此线程可能会有用:Concurrency in Swing
您可以添加到主方法的示例代码片段:
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
frame.setVisible(true);
...
}
});
关于java - 在数据更改时刷新 Jframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9630543/