永发信息网

java中在jtable中加入了复选框,如何重置复选框

答案:3  悬赏:60  手机版
解决时间 2021-11-19 13:04
java中在jtable中加入了复选框,如何重置复选框
最佳答案
TableColumn aColumn = jTable1.getColumnModel().getColumn(0);
aColumn.setCellEditor(jTable1.getDefaultEditor(Boolean.class));
aColumn.setCellRenderer(jTable1.getDefaultRenderer(Boolean.class));
全部回答
document.getElementsByName("复选框的名字")追问不是,java中在jtable中加入了复选框,如何重置复选框,请看清楚一些
方法1.
实现
TableCellRenderer
TableCellEditor
Object[] row = .....
row[x] = new JCheckbox()
model.addRow(row);

方法2
继承DefaultTableModel
public class CheckTableModle extends DefaultTableModel {
重写
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}

Object[] row = .....
row[x] = false
model.addRow(row);

上面两种方法都可以追问可以写详细点吗追答好的,下午给一个demo
刚才也有些看走眼了,以为是你要放入复选框
现在看来你已经功能放入了,但不能控制,
也看了你的补充,是用第一种方法实现的。可以参考一下下边的代码。
for (int row = 0; row < table.getRowCount(); row++) {
JCheckBox check = ((JCheckBox) table.getValueAt(row, column));
}
--------------------------------------------------------------------------------------------------
public class Table extends JFrame {
private JTable table;
private DefaultTableModel model;
private JCheckBox chckbxAll = null;
public Table() {
getContentPane().setLayout(null);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(12, 41, 418, 215);
getContentPane().add(scrollPane);
model = new DefaultTableModel(new String[] { "1", "2", "3" }, 0);
table = new JTable(model);
scrollPane.setViewportView(table);
table.getColumnModel().getColumn(0).setCellEditor(new CellEditor());
table.getColumnModel().getColumn(0).setCellRenderer(new CellRenderer());
chckbxAll = new JCheckBox("all");
chckbxAll.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
for (int row = 0; row < table.getRowCount(); row++) {
JCheckBox check = (JCheckBox) table.getValueAt(row, 0);
check.setSelected(chckbxAll.isSelected());
}
table.updateUI();
}
});
chckbxAll.setBounds(12, 14, 103, 21);
getContentPane().add(chckbxAll);
for (int i = 0; i < 3; i++) {
Object[] row = { new JCheckBox(), "b", "c" };
model.addRow(row);
}
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(460, 300);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screenSize.width - getWidth()) / 2,
(screenSize.height - getHeight()) / 2);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new Table();
}
}

字不够了,
TableCellEditor
TableCellRenderer
的实现就不贴了追问还是实现不了点取消按钮将所有复选框都重置为未选状态还是实现不了点取消按钮将所有复选框都重置为未选状态追答for (int row = 0; row < table.getRowCount(); row++) {
JCheckBox check = (JCheckBox) table.getValueAt(row, 0);
check.setSelected(chckbxAll.isSelected());
}

就是这一块啊,
你把CheckBox放以了cell里,再从指写的行和列中取出来设置一下就可以了呀

你出的对象是什么?追问解决了,谢谢,就差写一个repaint函数了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
8X9X125用什么定律计算简便
新余到良山公交最晚一趟车是什么时候
电影钟道伏魔雪妖魔灵演员都有哪些人
汽车长4620mm是多少米
“常有,欲以观其徼”中的“徼”字什么意思
学校有自己的抬头纸吗
24K德国HD金碟中有哪些歌
K794列车什麽时候到赣州
菰米的多酚类物质主要是什么成分
太原晚上哪里好玩
犬马之劳什么意思?
清朝秘密建储如何安排
虾皮和海米是同一种东西吗?
古田站离古田县城近还是古田北站?
谁知道上海青浦名称的来由
推荐资讯
什么星座是天生的幸运儿
十月有哪些好看的电影
如何评价双笙的歌曲《采茶纪》
42乘7分之2
巴音渡假村在哪里啊,我有事要去这个地方
我11月去厦门旅游,那时候厦门气温大概多少度
以又见—————为题的半命题作文请大家帮帮
为什么有人喜欢黑联想
PP料表面顶针印怎么去除
成语 具体而微 造句
不知道谁撞了我车前保险橦怎么办
如何挑选西瓜
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?