添加按钮到jtable [英] Adding button to jtable

查看:292
本文介绍了添加按钮到jtable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I searched for tutorials for adding button in jtable and found a class file from, http://tips4java.wordpress.com/2009/07/12/table-button-column/ Where to set label for the button?

      [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中的数据自动设置。例如,对于表编辑器,代码为:

It is set automatically in the table renderer and editor from the data in your DefaultTableModel. For example, for the table editor, the code is:

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

其中 value 是表模型中的值。有关详细信息,请参见 ButtonColumn.java

where value is the value from your table model. See ButtonColumn.java for details.

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

Since you are adding 4 columns, you should probably change your row data to

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

以查看第4列的删除按钮。

in order to see the delete buttons on the 4th column.

这篇关于添加按钮到jtable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆