我创建了一个包含JScrollPane的JPanel。 JScrollPane是jtable的占位符。 当点击一个按钮时,JDialog会出现显示来自数据库的jTable数据。
用户将从jTable中选择行,一旦单击确定按钮,我希望将所选行添加到JPanel中的Jtable。
JPanel(称为面板)中的JScrollPane(称为spSpec)和JTable(称为table)被声明为静态
在JPanel中我有一个名为“Select Existing”的按钮,一旦点击它就调用了AddExistSpec()按钮和AddExistSpec代码:
JButton btnSelectExisting = new JButton("Select Existing");
btnSelectExisting.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
AddExistSpec();
}
});
public void AddExistSpec(){
Existing dialog= new Existing();
spSpec = new JScrollPane( dialog.getResult());
}
扩展JDialog的“Existing”类显示一个Jtable,用户可以选择想要传递给jPanel的行
“ok”按钮和getResult()方法后面的代码:
JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
x = t.getSelectedRows();
String[] col = {"Requirement ID ", "Description"};
String[][] data = new String[x.length][2];
for(int i= 0;i<x.length;i++){
int y = x[i];
value1 = t.getValueAt(y, 0).toString();
value2 = t.getValueAt(y, 1).toString();
data[i][0] = value1;
data[i][1]=value2;
}
ResultTable = new JTable(data, col);
spTest = new JScrollPane(ResultTable);
spTest.setPreferredSize(new Dimension(200,100));
dispose();
}
});
okButton.setActionCommand("OK");
问题是表格没有在spSpec Scrollpane中显示