Java ComboBox数据库值不为';添加新数据后不刷新
在将数据添加到数据库中之后,除非我再次执行该程序,否则不会对JComboBox进行任何更改。我需要调用任何特定的方法来刷新值吗?谢谢 新代码:Java ComboBox数据库值不为';添加新数据后不刷新,java,database,swing,refresh,jcombobox,Java,Database,Swing,Refresh,Jcombobox,在将数据添加到数据库中之后,除非我再次执行该程序,否则不会对JComboBox进行任何更改。我需要调用任何特定的方法来刷新值吗?谢谢 新代码: class ComboModel extends AbstractListModel implements ComboBoxModel { // array? treeset? public Object getElementAt(int index) { } public int getSize() {
class ComboModel extends AbstractListModel implements ComboBoxModel
{
// array? treeset?
public Object getElementAt(int index) {
}
public int getSize() {
}
public Object getSelectedItem() {
}
public void setSelectedItem(Object anItem) {
}
}
final JComboBox stockListComboBox = new JComboBox();
ComboModel model = new ComboModel();
stockListComboBox.setModel(model);
try
{
// Database Stuffs
}
catch(Exception e)
{
e.printStackTrace();
}
不确定我是否得到了问题的第二部分,但是,关于添加到DefaultComboxModel的值,您必须调用一个方法,让combobox知道模型元素已更改。
您可以使用method或fireIntervalAdded one。您是否在询问为什么在单击addButton后插入数据库的值没有显示在各自的JTextField中?
捕获(异常e){}
不要忽略异常!将其更改为catch(异常e){e.printStackTrace();}
@eabraham,单击addButton后,该值将插入数据库,但不会插入JComboBox(除非我再次执行该程序)。@AndrewThompson,感谢您的提示!请删除您可以使用fireContentsChanged fireContentsChanged方法或fireIntervalAdded方法。
,然后+1 Andrea Parodi,我已经更新了代码,这是正确的方法吗?我见过声明变量的例子。有些是数组或树集。我应该申报什么?Thanks@mKorbel,我应该声明什么类型的变量?谢谢