1

我做了一个扩展jframe的类。我有一个 jframe 和一些组件的边框布局和一个带有绝对布局的 jpanel 来容纳一些按钮和一个 jcombobox。组合框包含表中的一些值。该表从 mysql 查询中获取值。我通过按钮删除或添加一些记录,然后更新表格。

除了不刷新值的组合框外,一切都很好。为了工作,我必须关闭 jframe 并再次打开它。我阅读了许多关于重绘等的文章和教程......但在我的情况下似乎没有任何效果。动作监听器也是扩展 jframe 的同一个类。

有什么办法吗?请保持简单,因为我是 Java 编程新手。谢谢!

4

1 回答 1

3

你听说过SwingUtilities.invokeLater(new Runnable())java.awt.EventQueue.invokeLater(new Runnable())吗?

阅读此线程可能很有用:Swing 中的并发

您可以添加到 main 方法的示例代码片段:

java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
        JFrame frame = new JFrame();
        frame.setVisible(true);
                ...
    }
});
于 2012-03-09T07:47:07.393 回答