相关疑难解决方法(0)

如何在Swing中的JTable列中添加不同的JComboBox项

我想在第1列的JTable(3,3)中添加JComboBox.但在第1列中,每行都有自己的ComboBox元素集.当我尝试使用时

table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(comboBox_Custom));
Run Code Online (Sandbox Code Playgroud)

每行都被设置为同一组ComboBox值.但我希望每一行ComboBox都有不同的项目.

java swing jtable jcombobox tablecellrenderer

5
推荐指数
1
解决办法
7382
查看次数

JTable中列的多个单元格渲染器?

假设我有以下JTable,只要按下按钮就会显示:

      | Name
------+------------
True  | Hello World
False | Foo Bar
True  | Foo
False | Bar
Run Code Online (Sandbox Code Playgroud)

我想渲染最初为JCheckBox的单元格,以及最初为 false的所有单元格都不显示任何内容(没有JCheckBox).用户可以检查或取消检查最初为真的单元格中的JCheckBox,这将对我创建的图表起作用.

现在,我的单元格渲染器在所有单元格中显示JCheckBoxes,包括最初为假的那些(它显示那些没有复选标记的JCheckBox),但我想在后者中不显示任何内容.这是我的代码:

protected class CheckBoxCellRenderer extends JCheckBox implements TableCellRenderer {

  public Component getTableCellRendererComponent(JTable table, Object value,
      boolean isSelected, boolean hasFocus, int row, int column) {
    if (!(Boolean) tableModel.getValueAt(row, 0)) {
      NoCheckBoxCellRenderer renderer = new NoCheckBoxCellRenderer();
      return renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
    this.setSelected((Boolean) tableModel.getValueAt(row, 0));
    return this;
  }

}

protected class NoCheckBoxCellRenderer extends DefaultTableCellRenderer {

  public Component …
Run Code Online (Sandbox Code Playgroud)

java swing jtable rowfilter

3
推荐指数
1
解决办法
4636
查看次数

标签 统计

java ×2

jtable ×2

swing ×2

jcombobox ×1

rowfilter ×1

tablecellrenderer ×1