【问题标题】:creating comboboxes inside jtable在 jtable 中创建组合框
【发布时间】:2010-11-18 18:33:09
【问题描述】:

我的目标是提供一个像矩阵一样的界面,矩阵中的每个单元格将有 2 个值,用户将在两者中选择最好的。

所以我想到了 jTable 和组合框,问题是在我的矩阵中,一列中每个单元格的值是不同的。但是下面的代码将组合框添加到表格的整个列中,如果我更改组合框的值,它会针对整个表格进行更改。如何在表格中插入组合框,使每个组合框具有不同的值

javax.swing.JComboBox k = new javax.swing.JComboBox();
        k.addItem("1");
        k.addItem("2");
        k.addItem("3");
        k.setEnabled(true);
        k.setVisible(true);
this.jTable1.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(k));

我也尝试过使用 DefaultTableModel

代码是

  DefaultTableModel t =new javax.swing.table.DefaultTableModel();
    t.setColumnCount(10);
    t.setRowCount(10);
    t.setValueAt(k, 0, 0);
 jTable1.setModel(t);

但我在 gui 中得到的输出为

javax.swing.JComboBox[,0,0,0x0,invalid,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=1]

我尝试在 setValueAt 方法中将“k”类型转换为 JComboBox 和 JComponent,但没有成功

请大家帮忙

【问题讨论】:

    标签: java swing jtable jcombobox


    【解决方案1】:

    重写 getCellEditor(....) 方法。例如:How to add unique JComboBoxes to a column in a JTable (Java)

    【讨论】:

    • 这非常有用,但是当我必须在多个列中添加组合框时,它似乎无法正常工作。如何在每一列中设置特定的组合框呢?
    猜你喜欢
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多