我正在使用 NetBeans 通过 JTable-s 创建一些桌面应用程序,但我遇到了麻烦:
我正在创建 JTable 的子类,假设 CustomJTable:
public class CustomJTable extends JTable {
private Object[][] someData;
public CustomJTable (Object[][] someData) {
this.someData = someData;
}
public doSomething () {
// do something
}
}
public class MyApp {
...
public void someMethod (Object[][] someData) {
JTable table = new CustomJTable(someData);
table.doSomething(); // this method does not belong to JTable and
// is unusable to me in NetBeans
}
...
}
NetBeans 表示在 JTable 类中找不到 doSomething 方法。因为我也并不真正感到困惑。谢谢建议。
这只是一个简短的示例代码,用于显示问题根源。
最佳答案
您正在实例化 JTable 的实例,然后尝试调用属于 CustomJTable 的方法。
在 CustomJTable 中扩展 JTable 不会为您提供 CustomJTable 拥有的方法。
为了调用实例化正确对象的方法:
CustomJTable table = new CustomJTable(someData);
关于java - 不能使用java子类的public方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40960285/