gpt4 book ai didi

java - java中数据库表更新时如何立即更新jcombobox

转载 作者:行者123 更新时间:2023-12-02 05:48:08 24 4
gpt4 key购买 nike

我正在开发java应用程序。我在应用程序中有两个框架。我想将一个框架中输入的数据反射(reflect)到另一个框架运行时。

enter image description here

如上面的窗口所示,当我按下供应商窗口中的提交按钮时,购买窗口中的组合框应该立即更新。我应该做出哪些必要的改变?

这是我在数据库中存储数据的frame1代码:

public void btnSubmitAction(ActionEvent e){

String custId,custNm;

if(txtSupplierID.getText().equals("") || txtSupplierName.getText().equals("") )
{
System.out.println("Please enter valid information!!!!!!!");
}
else
{
try{
setConnectin();
String str = "Insert into SupplierMasterTable values(?,?)";
pstmt = conn.prepareStatement(str);
pstmt.setString(1,txtSupplierID.getText());
pstmt.setString(2, txtSupplierName.getText());
int x = pstmt.executeUpdate();
System.out.println("Supplier registered successfully");
txtSupplierID.setText("");
txtSupplierName.setText("");
conn.close();
}catch(Exception e1){
e1.printStackTrace();
}

}

}

这是我从数据库获取数据的frame2代码:

    JComboBox comboBoxVenderName = new JComboBox();
comboBoxVenderName.setFont(new Font("Times New Roman", Font.PLAIN, 15));
comboBoxVenderName.setBounds(144, 88, 137, 21);
panel.add(comboBoxVenderName);

try{
setConnectin();
String str = "select * from SupplierMasterTable";
stmt = conn.createStatement();
rs = stmt.executeQuery(str);
while(rs.next())
{
comboBoxVenderName.addItem(rs.getString("Supplier_Name"));
}
conn.close();
}catch(Exception e2){
e2.printStackTrace();
}

我已经浏览了以下链接,但没有得到可行的解决方案:

Immediate update to JCombobox in Java

Synchronize a jCombobox with a MySQL Table

最佳答案

JComboBox comboBoxVenderName = new JComboBox();

当您想要刷新数据时,不要创建新的组合框。

相反,您应该创建一个新的 DefaultComboBoxModel 并将数据添加到模型中。然后,您可以使用以下方法更新现有组合框中的数据:

comboBox.setModel( the updated model );

另外,不要使用空布局!您不应该使用 setBounds() 方法。 Swing 被设计为与布局管理器一起使用。

关于java - java中数据库表更新时如何立即更新jcombobox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com