Java 需要在JTable中动态添加JCheckBox
我有两个Java 需要在JTable中动态添加JCheckBox,java,swing,jtable,jcombobox,renderer,Java,Swing,Jtable,Jcombobox,Renderer,我有两个JTable。一个JTable中有一定数量的记录 加载第一个JTable后,我希望加载第二个表中创建的相同数量的JCheckbox 我有这个场景。。。vl在方法addCheckBox中传递两个表 private void addCheckBox(JTable procTableSrc, JTable procTableCk){ CheckBoxRenderer checkBoxRenderer = new CheckBoxRenderer(); EachRowRende
JTable
。一个JTable
中有一定数量的记录
加载第一个JTable
后,我希望加载第二个表中创建的相同数量的JCheckbox
我有这个场景。。。vl在方法addCheckBox
中传递两个表
private void addCheckBox(JTable procTableSrc, JTable procTableCk){
CheckBoxRenderer checkBoxRenderer = new CheckBoxRenderer();
EachRowRenderer rowRenderer = new EachRowRenderer();
int rows = procTableSrc.getRowCount();
DefaultTableModel dm = (DefaultTableModel)procTableCk.getModel();
Object [] data = new Object[][]{{new Boolean(false)},{new Boolean(false)}};
for(int i=1; i <=rows; i++){
rowRenderer.add(i, checkBoxRenderer);
//model.addRow(new Object []{new Boolean(false)});
}
}
private void addCheckBox(JTable procTableSrc,JTable procTableCk){
CheckBoxRenderer CheckBoxRenderer=新的CheckBoxRenderer();
EachRowRenderer rowRenderer=新的EachRowRenderer();
int rows=procTableSrc.getRowCount();
DefaultTableModel dm=(DefaultTableModel)proctTableck.getModel();
对象[]数据=新对象[][{{new Boolean(false)},{new Boolean(false)};
对于(int i=1;i感谢您的编辑,但您可能仍希望向我们展示更多内容,并告诉我们您当前的代码导致了哪些错误
关于“CheckBoxRenderer”类,您不需要它。请阅读您可以找到的JTable教程。在那里,您将看到您需要做的只是覆盖表模型的getColumnClass
方法,为感兴趣的列返回Boolean.class,以便显示复选框
运气
编辑1
还有,“行呈现器”有什么用途?要向JTable添加信息,必须向其模型中添加行,我看不到您的代码会这样做。请查看DefaultTableModel API,您将在其中看到addRow(…)方法,这可能会对您有很大帮助。或者使用数据数组创建一个新的DefaultTableModel对象。实际上,这可能更好,因为您可以重写其getColumnClass()方法,为需要显示复选框的列返回布尔值
编辑2
此外,由于您将其声明为一维数组并将其初始化为二维数组,因此无法编译此文件:
Object [] data = new Object[][]
考虑执行以下操作:
- 创建一个对象的二维数组,让它保存模型的数据。数组的第一个索引是JTable中显示的行数,第二个索引是列数
- 用布尔值填充每个列位置
- 创建一个新的DefaultTableModel对象,该对象覆盖getColumnClass(…),并使其为包含布尔值且需要显示复选框的列返回Boolean.class
- 给它一个构造函数,它允许你传入二维对象数组,也许还有一个列标题的字符串数组。构造函数的第一行应该是对超级构造函数的调用,你需要将数组参数传递给这个调用
- 在procTableCk对象上调用setModel,该对象传入您刚刚创建的模型
您尚未提出具体且可回答的问题。您具体需要什么帮助?您尝试了什么?您遇到了什么问题?您可以向我们展示任何代码吗?告诉我们任何错误吗?请尽快解决这些问题,否则我担心您的问题将无法回答。您对可拆卸模型和每个渲染器都有问题,请无需为DefalutTableModel的CheckBoxRenderer定义。请参阅下面我的答案中的编辑1。请参阅下面我的答案中的编辑2。您的意思是,这是EachRowRenderer
ASAP注释在编辑后删除,从问题中删除紧迫性和ASAP。