首页javajtableJava Swing - 如何使用JComboBox作为编辑器创建JTable并删除当前行

Java Swing - 如何使用JComboBox作为编辑器创建JTable并删除当前行

我们想知道如何使用JComboBox作为编辑器创建JTable并删除当前行。
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

public class Main {
  public static void main(String[] values) {
    JTable table;
    table = new JTable(new DefaultTableModel(3, 3) {
      @Override
      public void setValueAt(Object aValue, int row, int column) {
        super.setValueAt(aValue, row, column);
        if (column == 2) {
          if (aValue.toString().isEmpty()) {
            removeRow(row);
          } else {
            addRow(new Object[] { null, null, null });
          }
        }
      }
    });
    TableColumn column = table.getColumnModel().getColumn(2);
    JComboBox<String> comboBox = new JComboBox<>(new String[] { "", "1", "2",
        "3", "4", "5" });
    column.setCellEditor(new DefaultCellEditor(comboBox));
    JFrame f = new JFrame();
    f.add(new JScrollPane(table));

    f.pack();
    f.setVisible(true);
  }

}