作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我从 JComboBox A
中选择项目时,我尝试在 JComboBox B
中显示值。到目前为止,当我从 JComboBox A
中选择一个值时,没有任何反应。这是我的数据和代码。例如,如果我从 JComboBox A
(paperid) 中选择 1,则 JComboBox B
(authorid) 中的结果将为 1,2,4。
private void comboboxAPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
String display = (String) comboboxA.getSelectedItem();
String sql = "Select authorid from submission where paperid =?";
try {
ps=conn.prepareStatement(sql);
ps.setString(1,display);
rset = ps.executeQuery();
if (rset.next()){
String add1 = rset.getString("authorid");
System.out.println(add1);
comboboxB.setSelectedItem(add1);
}
} catch(Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
最佳答案
我想我终于明白了你的问题。您希望在第二个组合框中对查询结果进行收费,不是吗?
如果是这样的话,试试这个
private void comboboxAPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
String display = (String) comboboxA.getSelectedItem();
String sql = "Select authorid from submission where paperid =?";
comboboxB.removeAllItems(); // <- Clear comboboxB
try {
ps = conn.prepareStatement(sql);
ps.setString(1, display);
rset = ps.executeQuery();
while (rset.next()) { // <- Include all authors found
String add1 = rset.getString("authorid");
System.out.println(add1);
comboboxB.addItem(add1);
}
} catch(Exception e) {
JOptionPane.showMessageDialog(null,e);
}
}
也许您必须在执行此方法后强制在显示 JComboBox 的容器中重新绘制。 “myContainer”
不是变量名称,请替换为您的面板或框架的名称。
myContainer.revalidate();
myContainer.repaint();
关于java - 如何在另一个 JComboBox 中选择某个项目时显示 JComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36288698/
我是一名优秀的程序员,十分优秀!