【问题标题】:How to add a JComboBox to a JTable cell?如何将 JComboBox 添加到 JTable 单元格?
【发布时间】:2017-12-17 00:58:47
【问题描述】:

我正在尝试将 JComponents 添加到 JTable 单元中。我要实现 CellRenderer 还是 CellEditor?

【问题讨论】:

    标签: java swing jtable


    【解决方案1】:

    您需要的是一个自定义编辑器,它将返回 JComboBox(或您想要使用的任何组件)。您应该查看Sun tutorial for JTable,它包含一个关于如何使用 JComboBox 作为编辑器的示例。如果你也想使用 JComboBox 作为渲染器,本教程也适用。

    【讨论】:

    • 是的,请记住,渲染器用于显示,编辑器用于编辑单元格。您可能只需要实现 Editor :)
    【解决方案2】:

    您也可以通过将 JComboBox(或 JCheckBox 或 JTextField)的实例传递给构造函数来使用 DefaultCellEditor

    【讨论】:

      【解决方案3】:

      1- 创建一个JCombobox 并在其中插入您想要的信息,如下所示:

      JComboBox<String> sport = new JComboBox<String>();
      sport.addItem("foot");
      sport.addItem("hand bool");
      sport.addItem("****");
      

      2- 创建一个JTable 并为此表设置一个表模式,类似于:

      Vector<String> title = new Vector<String>
      title.add("id");
      title.add("sport");
      Vector<Vector<String>> rows = new Vector<Vector<String>>();
      rows.addItem("1");
      rows.addItem("2");
      
      JTable table = new JTable(rows, title);
      

      3- 你把 JComboBox 放在 JTable 单元格中,如下所示:

      table.getColumnModel().getColumn(2).setCellEditor(new DefaultCellEditor(sport));
      

      【讨论】:

        猜你喜欢
        • 2012-12-30
        • 1970-01-01
        • 2014-06-27
        • 2015-03-07
        • 2011-03-16
        • 1970-01-01
        • 2012-07-25
        • 1970-01-01
        • 2018-12-02
        相关资源
        最近更新 更多