如何将选定的 JComboBox 数据项提取到 Swing 文本字段中?
Posted
技术标签:
【中文标题】如何将选定的 JComboBox 数据项提取到 Swing 文本字段中?【英文标题】:How to fetch selected item of JComboBox data into Swing text fields? 【发布时间】:2018-08-22 07:33:05 【问题描述】:我的 H2 数据库中有一个表。
item_name | sac_hsn | price | Tax
我有JTextfield
字段用于hsn_code
和price
。
现在我想做的是,当我从JComboBox
中选择item_name
时,该项目的hsn_code
和price
的数据也应该在文本字段中获取。
我已经这样做了,但它不起作用:-
当我在组合框中运行代码时,它不显示任何项目。一片空白。
Connection connection = null;
ResultSet rs;
public void commonMethodForSt(String query)
try
Statement st = connection.createStatement();
rs = st.executeQuery(query);
catch (Exception e)
// TODO Auto-generated catch block
那么..
public void populateItemNameAndDetails()
try
Class.forName("org.h2.Driver");
con =
DriverManager.getConnection("jdbc:h2:C:/SimpleGST/GST","sa","");
String pname = itemcombo.getSelectedItem().toString();
commonMethodForSt("select * from additems where item_name='"+pname+"'");
if(rs.next())
// System.out.print(set_com);
sachsntext.setText(rs.getString("sac_hsn"));
pricetext.setText(rs.getString("price"));
taxtext.setText(rs.getString("TAX_RATE"));
catch (SQLException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (ClassNotFoundException e)
// TODO Auto-generated catch block
e.printStackTrace();
之后我在组合框中设置了一个ActionListener
,并在其中调用了方法。
itemcombo = new JComboBox();
itemcombo.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent arg0)
populateItemNameAndDetails();
);
【问题讨论】:
如需尽快获得更好的帮助,请发帖 minimal reproducible example 或 Short, Self Contained, Correct Example。硬编码一些数据来替换数据库。 顺便说一句:将 catch (Exception e) // TODO Auto-generated catch block
更改为 catch (Exception e) e.printStackTrace();
或者换一种说法:不要忽略异常!他们准确地告诉我们出了什么问题。除非实现了日志记录,否则至少调用Throwable.printStackTrace()
。
【参考方案1】:
好的,我通过创建一个仅将数据填充到组合框的方法解决了这个问题。
public void populateItemCombo()
con = DriverManager.getConnection("jdbc:h2:C:/SimpleGST/GST", "sa", "");
itemcombo.addItem(" ");
commonMethodForSt("select * from additems");
while (rs.next())
itemcombo.addItem(rs.getString("item_name"));
并调用方法。
并且我作为问题提出的代码保持不变。
【讨论】:
以上是关于如何将选定的 JComboBox 数据项提取到 Swing 文本字段中?的主要内容,如果未能解决你的问题,请参考以下文章