Gau*_*rav 2 java swing jtable renderer jcombobox
我有两个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)});
}
}
Run Code Online (Sandbox Code Playgroud)
请帮我一个代码来实现这一目标.
感谢您的编辑,但您仍可能希望向我们展示更多内容,并告诉我们您当前代码导致的错误.
关于"CheckBoxRenderer"类,您不需要这个.请阅读您在此处可以找到的JTable教程.在那里,您将看到您需要做的就是覆盖表模型的getColumnClass方法,返回感兴趣的列的Boolean.class,以显示复选框.
运气.
编辑1
此外,"行渲染器"是什么,它的用途是什么?要向JTable添加信息,必须向其模型添加行,并且我看不到您的代码正在执行此操作.看看DefaultTableModel API,你会看到addRow(...)方法,它可以帮助你很多.或者用数据数组创建一个新的DefaultTableModel对象.实际上,这可能更好,因为您可以覆盖其getColumnClass()方法以返回需要显示复选框的列的布尔值.
编辑2
此外,由于您将其声明为一维数组并将其初始化为二维数组,因此无法编译:
Object [] data = new Object[][]
Run Code Online (Sandbox Code Playgroud)
考虑执行以下操作: