java - 在数据更改时刷新 Jframe

标签 java swing jframe awt-eventqueue

我制作了一个扩展 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/

相关文章:

java - 将文件从操作系统拖放到 Java 应用程序 (Swing)

Java Swing 忽略 JButton 上的文本大小

java - 从菜单到 JPanel 的图像/面板/按钮有困难

java - Selenium 测试: Programming a more robust test

java - 有没有办法听另一个类的方法执行?

java - 解决代码中的错误

java - 包装 jframe

Java 屏幕分辨率大小

java - 如何使用 JNDI 在 java 中强制执行 LDAP bindRequest?

java - 如何判断图是有向图还是无向图