当前位置: 首页 > 知识库问答 >
问题:

将JCombo列添加到JTable

华星文
2023-03-14

我只是试图将JComboBox添加到最后一列的所有行中。代码在下面。

//Return Person objects from a method
ArrayList<Person> people = getPersonList();

String[] columnNames {"Name", "Age", "English Speaker?" };

DefaultTableModel model = new DefaultTableModel();
model.setColumnIdentifiers(columnNames);

JTable table = new JTable(model);

//Create JComboBox for last column (English Speaker?)                       
JComboBox<Integer> englishCombo = new JComboBox<>();

int count = 1;

//For loop to add each Person to there rows
//Also add a boolean value to determine check box
for(Person p: people)
{
    boolean english =false;

    if(p.isEnglishSpeaker() == true)
    {
        english = true;
    }
    else
    {
        english = false;
    }
    questionCombo.addItem(count);

    model.addRow(new Object[]{p.getName(), p.getAge(), english);
}

//Get 3rd column (English Speaker)
TableColumn englishColumn = table.getColumnModel().getColumn(2);
//Add JComboBox to English Speaker
englishColumn.setCellEditor(new DefaultCellEditor(englishCombo));

当我运行这段代码时,它只在第3列显示true of false,而不是JComboBox?有人能找出问题所在吗?非常感谢

共有1个答案

莫宁
2023-03-14

您指定了自定义编辑器;现在您需要对呈现器进行寻址。我看到两种可能性:

>

  • JComboBox 与所需的truefalse值一起使用,如下所示。

    对于类型为boolean.class的值,使用默认呈现器和编辑器jcheckbox,如下所示。

  •  类似资料:
    • 问题内容: 我使用SQLAlchemy制作了一个表,却忘记添加列。我基本上想这样做: 这是什么语法?我在文档中找不到它。 问题答案: 这称为数据库迁移(SQLAlchemy不支持即开即用的迁移)。您可以考虑使用sqlalchemy- migrate 在这种情况下提供帮助,也可以仅通过选择的数据库的命令行实用程序,

    • 问题内容: 与此问题类似,如何将空列添加到数据框?,我想知道向DataFrame添加一列空列表的最佳方法。 我想要做的基本上是初始化一列,然后遍历行以处理其中的一些行,然后在此新列中添加填充列表以替换初始化的值。 例如,如果下面是我的初始DataFrame: 然后,我最终希望得到这样的结果,其中每一行都经过单独处理(显示了示例结果): 当然,如果我尝试像使用其他任何常量一样进行初始化,它会认为我正

    • 问题内容: 我正在尝试向JTable中的特定列添加滚动功能。我已经实现了一个自定义的TableCellRenderer组件,并且可以看到表中的滚动窗格很好,但是我无法滚动它。我也尝试实现TableCellEditor,但没有任何运气。 有谁知道如何使包含scrollPane的单元格可滚动? 问题答案: 使用TableCellRenderer不可能添加任何滚动行为,因为它不接收任何事件,仅绘制组件。

    • jcombo 是一个 jQuery 的 Combo 组合框插件。

    • 问题内容: 我有一堂课; 使用ResultSetMetaData,我可以建立TableModel来匹配数据库中的结果集。 在 B类中 ,我扩展了JPanel并添加了 A类 来显示我的表。我希望能够根据条件向表模型添加新列。我已尝试使用Google搜索,但显示的大多数示例均基于not 。 有谁知道如何实现这一目标? 问题答案: 只需扩展DefaultTableModel,然后就可以访问其所有方法。D