从默认表模型JAVA获取对象
我想知道如何将一个对象(产品)放入表中,然后将其作为对象检索 例如:从默认表模型JAVA获取对象,java,swing,Java,Swing,我想知道如何将一个对象(产品)放入表中,然后将其作为对象检索 例如: public class Controller { public Controller() { View view = new View(this); DefaultTableModel viewDtm = view.getDefaultTableModel(); //The product i want to put in to the table, and ret
public class Controller {
public Controller() {
View view = new View(this);
DefaultTableModel viewDtm = view.getDefaultTableModel();
//The product i want to put in to the table, and retrieve later on.
Product product1 = new Product(1,"Cola",2.54);
viewDtm.addRow(new Object[]{
product1.getId().toString(),
product1.getName(),
product1.getId().toString()
});
}
}
如何在另一个类中检索product1
如何在另一个类中检索product1
如前所述,您不能这样做,这与JTable、TableModel或Swing无关,所有这些都与您的变量有关,所有这些变量都是在构造函数的本地声明的。就像非Swing、非GUI程序一样,如果您希望其他类能够检查对象的状态,那么对象的关键字段应该是类的实例(非静态)字段,并且您应该为它们提供getter(访问器)方法
您的代码与此类似:
public class Foo {
public Foo() {
Bar bar = new Bar();
}
}
在这种设置中,外部类完全无法访问bar。相反,你想要的东西更像:
public class Foo {
private Bar bar = new Bar();
public Foo() {
// Bar bar = new Bar();
}
public Bar getBar() {
return bar;
}
}
旁注:我将创建自己的TableModel类,扩展DefaultTableModel或AbstractTableModel,并为其提供方法,允许轻松添加行、传入特定类型的对象以及获取数据行,返回特定类型的自定义对象。感谢旁注。我一定会用这个!