gpt4 book ai didi

java - 将按钮添加到 jtable

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:05 25 4
gpt4 key购买 nike

我搜索了在 jtable 中添加按钮的教程,并从 http://tips4java.wordpress.com/2009/07/12/table-button-column/ 中找到了一个类文件在哪里设置按钮的标签?

      [code]
private void createTable(){
model = new DefaultTableModel();
editorTable.setModel(model);
model.addColumn("COL1");
model.addColumn("COL2");
model.addColumn("ADD");
model.addColumn("DELETE");
model.addRow(new Object[]{"DATA1", "DATA2"});

Action delete = new AbstractAction() {

@Override
public void actionPerformed(ActionEvent e) {
editorTable = (JTable) e.getSource();
int modelRow = Integer.valueOf(e.getActionCommand());
((DefaultTableModel) editorTable.getModel()).removeRow(modelRow);
}
};

ButtonColumn bc = new ButtonColumn(editorTable, delete, 3);
bc.setMnemonic(KeyEvent.VK_D);
}

[/code]

最佳答案

它是根据您的 DefaultTableModel 中的数据在表渲染器和编辑器中自动设置的。例如表格编辑器,代码为:

public Component getTableCellEditorComponent(
JTable table, Object value, boolean isSelected, int row, int column) {
...
editButton.setText( value.toString() );
editButton.setIcon( null );
...
}

其中 value 是您的表模型中的值。参见 ButtonColumn.java了解详情。

编辑:由于您要添加 4 列,因此您可能应该将行数据更改为

model.addRow(new Object[]{"DATA1", "DATA2", "DATA3", "DELETE"});

为了在第 4 列看到删除按钮。

关于java - 将按钮添加到 jtable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9321623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com