java - 不能使用java子类的public方法

标签 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 方法。因为我也并不真正感到困惑。谢谢建议。

这只是一个简短的示例代码,用于显示问题根源。

最佳答案

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

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

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

CustomJTable table = new CustomJTable(someData);

关于java - 不能使用java子类的public方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40960285/

相关文章:

java - Jersey/* servlet 映射导致静态资源出现 404 错误

java - 用于从托管项目加载类的 Maven mojo 插件

java - 如何更改 GWT 应用程序中的 URL?

java - 我的 JSpinner.DateEditor 有什么问题?

java - 刷新 Swing 图形用户界面

java - Java游戏滞后

java - JSP 声明 scriptlet 访问 bean

Java Eclipse Jtable 单元格/列

java - 我可以使 JFrame 看起来像 JWindow 吗?

java - Jtable - getvalueAt() 问题