2012-03-09 39 views
1

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

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

任何方式来做到这一点? 请保持简单,因为我是java编程的新手。 谢谢!

+2

放了一些代码,看看发生了什么事情。一个SSCCE将是理想的(http://sscce.org) – 2012-03-09 07:46:58

+0

您是否在操作后重新加载组合框中的值? – 2012-03-09 07:51:55

+0

您是否尝试过在JComboBox上重新验证()后更改其模型? – 2012-03-09 08:03:30

回答

3

您是否听说过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); 
       ... 
    } 
}); 
+0

谢谢!我从来没有听说过这个。我现在就读! – Vagelism 2012-03-09 07:55:12

+0

好的...我读了它,说实话,我不明白很多东西。有关如何使用此代码的任何示例? – Vagelism 2012-03-09 08:02:57

+0

@GagandeepBali我认为你的材料更好,我只是想给OP一个想法。 – Juvanis 2012-03-09 08:06:12