我有一个jscrollpane作为私有字段,它是使用默认构造函数初始化的。此窗格应该动态添加一个新表,并在选择另一个表中的行时填充它。
该表将精细地添加行数据并显示,但列标识符不会显示。在表上有一个列表选择侦听器设置,其中的行被选中,这也被称为fine。
scrollforeign是预先初始化的滚动窗格,tablemain是选择表。
代码如下:
public void valueChanged(ListSelectionEvent s) {
if (s.getSource().equals(tableMain.getSelectionModel())) {
int caseNo;
DefaultTableModel jobsModel = new DefaultTableModel(0,0);
JTable tableJobs = new JTable();
scrollForeign.add(tableJobs);
jobsModel.setColumnIdentifiers(new String[] {"jid", "name", "price", "description", "quantity"});
tableJobs.setModel(jobsModel);
jobsModel.setRowCount(0);
jobsModel.addRow(new String[] {"1", "test", "10", "test", "1"});
jobsModel.addRow(new String[] {"2", "test", "10", "test", "1"});
jobsModel.addRow(new String[] {"3", "test", "10", "test", "1"});
}
}
提前谢谢。
1条答案
按热度按时间t1rydlwq1#
不要使用
JScrollPane#add
,使用JScrollPane#setViewportView
相反另一方面,不要创建新的
JTable
每次,只需创建模型并将其应用于JTable
每次。。。哪里
tableJobs
是示例字段,已应用于JScrollPane
...