如何访问在netbeans UI中创建的Jtable

时间:2013-11-05 18:48:18

标签: java swing netbeans

我使用UI构建器来创建它,我将它成功传递给方法(自动生成的自定义代码),但是如何从另一个范围引用它? (例如来自主要)。

我想执行这种代码,但我需要在我的范围内使用jTable1:

DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
Object[] obj = jtable_element;
model.addRow(obj);

3 个答案:

答案 0 :(得分:1)

  

我将它成功传递给方法(auto中的自定义代码)   生成),但我如何从另一个范围引用它? (例如。   来自主要)。

要从另一个类访问此表,您需要向此JTable添加一个getter,因为它是您使用UI构建器生成的类中的private属性:

public JTable getTable {
    return this.jTable1;
}

但是我最好的建议是不要使用GUI构建器。花一些时间学习Swing并亲自编写GUI类。你甚至可以写一个更干净的代码。例如,请参阅this example

答案 1 :(得分:1)

该表是您班级的私人成员。 根据您的评论,您的课程是“XMLappletUI”

在该课程中,您可以添加自己的方法。只需将其添加到自动生成的代码下方。 netbeans在gui更改后修改自动生成的代码时不会更改代码。

所以例如定义一个方法:

public void addRow(){

 DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
 Object[] obj = jtable_element;
 model.addRow(obj);

}

现在,您可以在类实例上调用该方法。

修改

如果要传递单个String参数

public void addRow(String jtable_element){

     DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
     Object[] obj = {jtable_element};
     model.addRow(obj);

    }

答案 2 :(得分:0)

如果您需要从其他课程访问此内容:

修改生成的代码以公开以下方法:

  • 返回运行此代码的模型
  • 接受一个对象作为参数并运行此代码(这两个选项可能更好)。

如果您需要从同一个类访问它,您的选项与上面相同,或者您可以将模型保存到实际类的变量中,您可以运行此代码一个单独的方法。