不能使用子类java的公共方法

时间:2016-12-04 15:36:56

标签: java swing

我正在使用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方法。因为我也不是很困惑。谢谢你的建议。

这只是一个缩短的示例代码,用于显示故障源。

1 个答案:

答案 0 :(得分:1)

您正在实例化JTable的实例,然后尝试调用属于CustomJTable的方法。

在CustomJTable中扩展JTable不会为您提供CustomJTable拥有的方法。

为了调用该方法实例化正确的对象:

CustomJTable table = new CustomJTable(someData);