【问题标题】:Java return ComponentJava 返回组件
【发布时间】:2011-08-21 07:24:07
【问题描述】:

我的程序有问题。 我正在开发 gui,但无法让它在 MenuController 类中使用这一行更改视图:

currentComponent = timeRegController.getView().userRegisterTime(user);

但我有类似的线路,效果很好。 currentComponent 一个组件,它是程序正在显示的当前视图。

timeRegController.getView() 返回一个名为 view 的 TimeRegistrationPanel。

在 TimeRegistrationPanel 类中,我有以下方法:

public Component userRegisterTime(User user) {
        JPanel window = new JPanel(new BorderLayout());
        return window;
    }

我的程序说问题出在这行:

currentComponent = timeRegController.getView().userRegisterTime(user);

因为对于组件类型未定义 userRegisterTime()。

【问题讨论】:

    标签: java swing user-interface components awt


    【解决方案1】:

    您需要将返回值转换为您的 TimeRegistrationPanel 类。

    【讨论】:

    • 我试过 currentComponent = ((Object) timeRegController.getView()).userRegisterTime(user);和 currentComponent = (Object) timeRegController.getView().userRegisterTime(user);但两者都不起作用......
    • ?你为什么要投射到对象?你知道铸造是如何工作的吗?也许看看 Java 教程:download.oracle.com/javase/tutorial/java/IandI/subclasses.html
    【解决方案2】:

    确保 getView() 返回 TimeRegistrationPanel。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 2013-05-27
      相关资源
      最近更新 更多