2016-12-16 57 views
0

我有一個JBtable,並在我想插入一個按鈕的列之一。JBTable ColumnInfo與按鈕

我嘗試如下:

private class DeleteColumn extends ColumnInfo<Field, JButton> { 

     public DeleteColumn() { 
      super("Delete"); 
     } 

     @Nullable 
     @Override 
     public JButton valueOf(final Field field) { 
      final JButton removalButton = new JButton(); 
      removalButton.setText("-"); 
      removalButton.addActionListener((e) -> { 
       // do something 
      }); 
      return removalButton; 
     } 

     @Override 
     public Class<?> getColumnClass() { 
      return JButton.class; 
     } 

    } 

然而,當這個被渲染,它仍然只是顯示的ToString()將JButton的。如何在表格中顯示按鈕?

回答

1

我想插入一個按鈕

你不應該添加一個JButton到表中。 JTable的數據不應該是Swing組件。您應該只是將文本存儲在列中,然後使用JButton來呈現文本。

例如檢查Table Button Column一類,允許你使用一個按鈕渲染器/編輯器。