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

DefaultTableCellRendererdtm=newDefaultTableCellRenderer();//表格中加入复选框dtm.setHorizontal... DefaultTableCellRenderer dtm = new DefaultTableCellRenderer();//表格中加入复选框
dtm.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
table.getColumnModel().getColumn(3).setCellRenderer(dtm);

table.getColumnModel().getColumn(3).setCellEditor(new DefaultCellEditor(checkbox));
table.getColumnModel().getColumn(3).setCellRenderer(new TestTableCellRenderer());
JScrollPane js=new JScrollPane(table);
if(e.getSource()==quxiao) //取消所有已选中的复选框 {
for(int i=0;i<a.length;i++)
;

}
展开
 我来答
百度网友845f74e61
推荐于2016-01-26 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1567万
展开全部
方法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
的实现就不贴了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
似灵杉0Ey
推荐于2016-11-05 · TA获得超过313个赞
知道小有建树答主
回答量:341
采纳率:55%
帮助的人:142万
展开全部
  TableColumn aColumn = jTable1.getColumnModel().getColumn(0);
aColumn.setCellEditor(jTable1.getDefaultEditor(Boolean.class));
aColumn.setCellRenderer(jTable1.getDefaultRenderer(Boolean.class));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xjxzhmin
2011-12-23 · TA获得超过147个赞
知道小有建树答主
回答量:333
采纳率:100%
帮助的人:117万
展开全部
document.getElementsByName("复选框的名字")
追问
不是,java中在jtable中加入了复选框,如何重置复选框,请看清楚一些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式