JTable中的java JCheckbox
我正在创建一个基于swing的身份验证系统,我有一个表,希望在其中打印一些必要的详细信息,并希望最后一列有一个复选框。即使在给出布尔值后,它也会打印true或false,而不是复选框
controlPanel.removeAll();
System.out.println("coming1");
JournalApprovalClass JAC = new JournalApprovalClass();
JournalApproval JA = new JournalApproval();
String[] columns = { "Author1", "Author2", "Author3",
"Author4", "Author5", "Author6", "Title",
"JournalName", "Scopus", "ImpactFactor",
"JournalMonth", "JournalYear", "NamePublisher",
"VolumeIssuePageNo", "BtechMtech", "OtherDetails",
"Approval" };
System.out.println("coming2");
try {
JA.adminApprovalJournalApproval();
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("coming3");
DefaultTableModel model = new DefaultTableModel(
journalTable.values2, columns);
JTable journalAdminApprovalTable = new JTable(model);
journalAdminApprovalTable
.setPreferredScrollableViewportSize(new Dimension(
1200, 100));
journalAdminApprovalTable.setFillsViewportHeight(true);
TableColumn column = null;
for (int i = 0; i <= 16; i++) {
column = journalAdminApprovalTable.getColumnModel()
.getColumn(i);
column.setPreferredWidth(50);
if (i == 16) {
column.setPreferredWidth(10);
}
}
System.out.println("coming4");
JScrollPane scrollPane = new JScrollPane(
journalAdminApprovalTable);
controlPanel.add(scrollPane);
controlPanel.revalidate();
controlPanel.repaint();
System.out.println("coming5");
这就是我试图创建数据对象在另一个类中创建的表的地方
ma.values[0] = au.Author1;
ma.values[1] = au.Author2;
ma.values[2] = au.Author3;
ma.values[3] = au.Author4;
ma.values[4] = au.Author5;
ma.values[5] = au.Author6;
ma.values[6] = au.Title;
ma.values[7] = au.JournalName;
ma.values[8] = au.Scopus;
ma.values[9] = au.ImpactFactor;
ma.values[10] = au.JournalMonth;
ma.values[11] = au.JournalYear;
ma.values[12] = au.NamePublisher;
ma.values[13] = au.VolumeIssuePageNo;
ma.values[14] = au.BtechMtech;
ma.values[15] = au.OtherDetails;
ma.values[16] = new Boolean(true);
/*if (au.AdminApproval == "NO") {
ma.values[16] = new JCheckBox("Approval");
} else
ma.values[16] = new Boolean(true);*/
ma.values1[i] = new Object[17];
ma.values1[i] = ma.values;
System.out.println(ma.values1[i] + " " + ma.values[0] + " "
+ i);
i++;
}
resultSet.next();
}
journalTable.values2 = new Object[i][];
for (int j = 0; j < i; j++)
journalTable.values2[j] = journalTable.values1[j];
return;
一切都正常工作,但我希望的是有一个复选框,它总是被选中(给出真实的原因)。 当我运行代码时,我得到以下输出
# 1 楼答案
这是因为您的模型是在字符串而不是对象上操作的。我无法运行您的代码,但如果我是您,我会:
String[] columns
更改为Object[] columns
李>