如何將JCheckbox
或JButton
放在JTable
的特定行和列上?如何將JCheckbox放在JTable上?
1
A
回答
1
不能確定某個按鈕,但這裏是一個工作示例把一個複選框:
import javax.swing.*;
import javax.swing.table.*;
public class Test {
public static void main(String [] args) throws Exception {
DefaultTableModel model = new DefaultTableModel(null, new String [] {"CheckMe", "Value"}) {
public Class getColumnClass(int c) {
switch (c) {
case 0: return Boolean.class;
default: return String.class;
}
} };
JTable table = new JTable(model);
JFrame frame = new JFrame("CheckBox Test");
frame.add(table);
model.addRow(new Object [] {true, "This is true"});
model.addRow(new Object [] {false, "This is false"});
frame.pack(); frame.validate();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
0
0
對於這一點,你必須寫一個TableCellRenderer
和TableCellEditor
。
您可以從默認的swing實現中派生出來,以使其更容易。
在每個類中,您必須重寫這些接口的一種方法,並在其中檢查傳遞的row
和column
參數;如果行和列都符合條件,則返回JCheckBox
或JButton
,否則返回super
實現返回的JComponent
(使用這些接口的默認swing實現時)。
1
正如你可以從khachik的答案中看到的,對於複選框的支持是由基於列的列類的表提供的。
但是,如果您只想要特定列的特定行上的複選框,那麼您需要重寫getCellRenderer(...)和getCellEditor(...)方法以返回給定的渲染器/編輯器細胞。例如:
public TableCellEditor getCellEditor(int row, int column)
{
int modelColumn = convertColumnIndexToModel(column);
if (modelColumn == 1 && row < 3)
return getDefaultEditor(Boolean.class);
else
return super.getCellEditor(row, column);
}
相關問題
- 1. JcheckBox在Jtable
- 2. JTable中的JCheckbox
- 3. 如何在JTable中添加JCheckBox?
- 4. 如何在jtable中動態設置jcheckbox
- 5. 如何在JTable中添加JCheckBox
- 6. JCheckBox在JTable中的行爲
- 7. JTable中的JCheckBox值
- 8. 使用Netbeans將JCheckBox添加到JTable
- 9. 如何將JTable單元的類更改爲JCheckBox?
- 10. JCheckBox不在JTable中呈現(JRE?)
- 11. 需要在JTable中動態添加JCheckBox
- 12. 縮放JCheckBox框
- 13. 如何在JTable中創建JCheckBox的從SQLite的
- 14. 使用多個Jcheckbox的JTable過濾器
- 15. 檢索JTable中JCheckbox的狀態
- 16. 從選定JCheckBox的JTable獲取數據
- 17. 禁用JComboBox內JTable點擊JCheckBox
- 18. 添加jcheckBox到Jtable使用GUI
- 19. 包含JCheckBox的JTable的鍵監聽器
- 20. JCheckBox搞亂了JTable的選擇
- 21. jCheckbox將顯示在textarea
- 22. 將JComboBox放入JTable中
- 23. JAVA:當按鈕按下時,JCheckBox在JTable中丟失選擇
- 24. 在JTable單元格中添加的JCheckBox不可見
- 25. jcheckbox in jtable在點擊時無所作爲,請幫助needfull
- 26. 在Mac OS X上使用JTable拖放
- 27. 如何將不同的JComboBox放置在每行JTable中
- 28. 如何將控件放在JTable的JTableHeader中?
- 29. 如何在DragAndDrop期間在Main-JTable上繪製RowHeader-JTable的Dropline?
- 30. 如何從上的JTable