当前位置: 首页 > 面试题库 >

将JComboBox放入JTable

司徒池暝
2023-03-14
问题内容

我想将单个JComboBoxes放入JTable的每个单元格中。即。每个单元格的JComboBox内容都不相同。

我基本上希望能够仅调用以下代码以将JComboBox行添加到JTable中。有人知道吗?谢谢

JComboBox cb1 = new JComboBox(...);
JComboBox cb2 = new JComboBox(...);
model.addRow(new Object[] {"Row name", cb1, cb2} );

JComboBox cb3 = new JComboBox(...);
JComboBox cb4 = new JComboBox(...);
model.addRow(new Object[] {"Row name 2", cb3, cb4} );

我可以找到的最接近的示例代码如下。但这是针对单个列的JComboBox内容相同的地方。不是我需要的解决方案。

TableColumn col = table.getColumnModel().getColumn(vColIndex);
col.setCellEditor(new MyComboBoxEditor(values));

哪里

public class MyComboBoxEditor extends DefaultCellEditor {
    public MyComboBoxEditor(String[] items) {
        super(new JComboBox(items));
    }
}

问题答案:

最简单的方法是实现自己的TableModel

public class MyModel extends AbstractTableModel {
    List rows;

    public int getRowCount() {
        return rows.size();
    }

    public int getColumnCount() {
         return 4;
    }

    public Object getValueAt(int row, int column) {
        return rows.get(row).getCol(col);  //assuming your row "Object" has a getCol()
    }

    public Class<?> getColumnClass(int col) {
        return Boolean.class;
    }

    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        rows.get(rowIndex).getCol(columnIndex).setValue(aValue);
    }

}

将此加载到您的JTable中。如果尚未替换Boolean的默认单元格渲染器,则由于实现了getColumnClass(),因此所有单元格都将显示为复选框。这些复选框的所有用户输入均通过setValueAt()收集。



 类似资料:
  • 所以现在我有一个简单的datalist下拉菜单,我想改变它的CSS,以便样式与网站上的其他字段匹配。然而,我是一个网页设计的noob,我有点困惑,因为要完成这个过程。 我有CSS在那里以及imo这将是最容易的内联CSS,但如果有人能指导我通过这将是伟大的感谢!

  • 我正在Java创建一个 代码:

  • 问题内容: 按照标题,将HTML放入JSON是否被视为一种好习惯?我需要这样做的原因是因为我想要一个自定义下拉列表,其中列表来自用户输入,而json看起来像这样: 并且我有以下foreach(请记住,这是我的代码的精简版,已经进行了验证,但是出于这个问题,我将其取出) 我担心的是,可能会有一些特殊字符可能会破坏JSON字符串。请帮忙。 问题答案: 您不会是第一个这样做的人,当然也不会是最后一个。

  • 问题内容: 我正在使用新的Python Requests库发出http请求。我从服务器获取cookie作为文本。如何将其中的cookie变成一个? 问题答案: 这个问题让我感到困惑。请求库将为您将Cookie放入罐子中。 URL的第一个请求将填充该jar。第二个请求会将cookie发送回服务器。标准库的urllib模块cookielib也是如此。(当前可用于2.x版本的文档)

  • 对于分配,我们需要能够保存自定义文件类型,然后能够再次读回。我想我可以使用FileInputStream类,这样我就可以轻松地使用myInStream。read()从文件中获取所需的所有信息。但是,我在将文件放入FileInputStream时遇到了一个问题。我能够获取URI,但我用来获取URI的方法似乎使URI类型与文件类不兼容。在开始阅读之前,我的onActivityResult()中有以下代

  • 我试图用我使用Gson()提取的POJO填充JTable。使用调试器,或者使用toString()将值打印到控制台,我可以看到对象的映射是成功的。我的问题在于用对象填充自定义Jtable。 问题:我的GUI包含一个按钮,它获取一个搜索字段,并将其发送到一个API,该API返回一个JSON响应,我正确映射了JSON,但我不知道如何将数据放入表中。 我尝试过的:addFillings()和insert