有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我不能从jframe调用我的方法

我有一个名为FrameRadar的类,它是一个jframe并实现了我的接口应用程序,其中包含一些方法,如更新、绘制和输入等

public class FrameRadar extends javax.swing.JFrame implements IApp{
    ...
}

但是FrameRadar中没有main方法,而是创建了另一个名为StateMenu的类,它扩展了一个抽象类状态。我在它上面创建了一个jframe对象,然后初始化它

class StateMenu extends State {

private JFrame mFrame;
...

public void init() {
    java.awt.EventQueue.invokeLater(new Runnable() {
                @Override
                public void run() {
                    mFrame = new FrameRadar();
                    mFrame.setVisible(true);
                }
        });
    }
}

问题是,我希望mFrame能够调用这些方法,但它没有。我做错了什么


共 (1) 个答案

  1. # 1 楼答案

    不能调用这些方法,因为不能保证mFrame是FrameRadar。将其声明为FrameRadar,或者在调用函数之前需要将其强制转换为FrameRadar