单击按钮后,将数据从JDialog传递到JPanel

时间:2013-04-13 23:59:47

标签: java swing jpanel jdialog

我创建了一个包含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中显示

0 个答案:

没有答案