java - 使用网格布局和获取组合框

标签 java swing grid jcombobox

我有一个面板,每行都有多个组合框,我需要从中获取组合框值。

这是我的代码:

gridPanel = new JPanel();
        grid = new GridLayout(0,1);
        gridPanel.setLayout(grid);

        gridPanel.add(createChildPanel());

和createChildPanel方法:

JComboBox columnACB = new JComboBox();
        columnACB.addItemListener(this);

感谢您的解决方案:这就是我们使用的

Component[] comps = gridPanel.getComponents();
             for (Component comp : comps) {
                 if (comp instanceof JPanel) {
                     JPanel panel = (JPanel) comp;
                     Component[] comps1 = panel.getComponents();
                     for (Component comp1 : comps1) {
                         if (comp1 instanceof JComboBox)
                     {
                     JComboBox combp = (JComboBox) comp1;
                     String colA = combp.getSelectedItem().toString();
                     System.out.println("colA"+colA);
                     }
                         else if  (comp1 instanceof JTextField)
                         {
                             JTextField combp = (JTextField) comp1;
                             String colA = combp.getText();
                             System.out.println("colA"+colA);
                             }
                     }

                 }
             }

最佳答案

您可以使用 getComponents() 迭代面板中的组件.

Component[] comps = gridPanel.getComponents();
for (Compoent comp : comps) {
    if (comp instanceof JComboBox) {
        JComboBox combo = (JComboBox) comp;
        Object selected = combo.getSelectedItem();
    }
}

关于java - 使用网格布局和获取组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24609207/

相关文章:

java - 使用 CriteriaBuilder 在数据库中搜索 Long 值

java - 多个 Keylistener Java

html - 1020px 网格系统问题 HTML

java - 当我使用 ddl-auto=create 时,JPA/hibernate 未生成其中一张表

java - MySQL "LOAD DATA IN File"使用 JDBC Connector/J

java - 我如何根据此为瓷砖着色?

html - Bootstrap grid .col 更高 - 相同的高度

css - Susy 网格中的对齐 block

java - 将文字分配给 Float 时出现类型不匹配错误

java - jTextField 仅接受字母和空格