如何在netbeans中的Jtable單元格中添加按鈕?將按鈕添加到Jtable中的netbeans中的單元格
1
A
回答
0
您需要添加自定義單元格渲染器,當按鈕狀態更改時,重定位表格中的一些事件並重新繪製單元格。這是邪惡的,它是討厭的,但它可以做到。
2
0
如Button Table Example所示,我們將創建一個類JButton
並實現TableCellRenderer
。
class ButtonRenderer extends JButton implements TableCellRenderer {
public ButtonRenderer() {
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (isSelected) {
setForeground(table.getSelectionForeground());
setBackground(table.getSelectionBackground());
} else {
setForeground(table.getForeground());
setBackground(UIManager.getColor("Button.background"));
}
setText((value == null) ? "" : value.toString());
return this;
}
}
然後您需要爲該列創建一個單元格編輯器。
class ButtonEditor extends DefaultCellEditor {
protected JButton button;
private String label;
private boolean isPushed;
public ButtonEditor(JCheckBox checkBox) {
super(checkBox);
button = new JButton();
button.setOpaque(true);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
fireEditingStopped();
}
});
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
if (isSelected) {
button.setForeground(table.getSelectionForeground());
button.setBackground(table.getSelectionBackground());
} else {
button.setForeground(table.getForeground());
button.setBackground(table.getBackground());
}
label = (value == null) ? "" : value.toString();
button.setText(label);
isPushed = true;
return button;
}
public Object getCellEditorValue() {
if (isPushed) {
//
//
JOptionPane.showMessageDialog(button, label + ": Ouch!");
// System.out.println(label + ": Ouch!");
}
isPushed = false;
return new String(label);
}
public boolean stopCellEditing() {
isPushed = false;
return super.stopCellEditing();
}
protected void fireEditingStopped() {
super.fireEditingStopped();
}
}
然後,我們將設置ButtonRender
的實例作爲細胞呈現該列和單元格編輯器ButtonEditor的一個實例。
\\"Button" is the column name
table.getColumn("Button").setCellRenderer(new ButtonRenderer());
table.getColumn("Button").setCellEditor(
new ButtonEditor(new JCheckBox()));
提供的鏈接中的example具有完整的可運行示例。
相關問題
- 1. 在JTable中添加按鈕 - Netbeans
- 2. 將按鈕添加到jtable
- 3. 將按鈕添加到jtable
- 4. 將JButton添加到JTable單元格+ DB
- 5. 使用[tableView dequeueReusableCellWithIdentifier:forIndexPath:]將單元格中的按鈕添加到按鈕中。
- 6. 如何將JComboBox添加到JTable中的特定單元格
- 7. 如何將工具提示添加到jtable中的單元格?
- 8. 在JTable的單元格內添加按鈕以及數據?
- 9. 將目標添加到tableview單元格內的collectionview單元格的按鈕
- 10. 如何增加iPhone中的特定單元格的行高,並將按鈕添加到增加的單元格
- 11. JTable:單元格中的自定義面板中的按鈕
- 12. 如何將按鈕添加到表格視圖中的單元格
- 13. 的UITableView單元格添加按鈕
- 14. 如何將按鈕添加到uitableview的每個單元格?
- 15. 將動畫添加到collectionview單元格內的按鈕
- 16. 將不同的JLists添加到JTable中的單元格渲染器中
- 17. 在單元格中的單擊按鈕上添加新的單元格行
- 18. 將JComboBox添加到JTable單元格。選擇的項目不留
- 19. 使用Netbeans將JCheckBox添加到JTable
- 20. 如何將格式添加到GWT中的單選按鈕?
- 21. 如何將單選按鈕添加到GWT中的網格?
- 22. 單擊按鈕後,如何將JTable添加到JPanel?
- 23. 使用按鈕將新數據行添加到jTable單擊
- 24. jtable單元格中的按鈕和文本框對齊
- 25. 一個按鈕添加到TableView中單元格:
- 26. 如何將按鈕添加到datagridview單元格不是整列
- 27. 將展開/摺疊按鈕添加到DataGrid單元格
- 28. 如何將按鈕添加到jQuery數據表單元格?
- 29. 如何將多個按鈕添加到dojo網格單元
- 30. 如何將一個按鈕添加到單元格末尾Swift
偉大的人,我發現它....非常感謝您的幫助! – Jasra 2010-11-30 09:48:10