2014-04-01 20 views
0

我有一個名爲FrameRadar的類,它是一個jframe並實現了我的界面應用程序,其中包含一些方法,如更新,繪製和輸入等。我無法從jframe調用我的方法

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

然而FrameRadar不具有的主要方法在裏面,而不是我提出另一類稱爲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

您不能調用這些方法,因爲沒有保證mFrame是FrameRadar。要麼將其聲明爲FrameRadar,要麼在調用函數之前將其強制轉換爲FrameRadar。

+0

謝謝,這需要幾個小時才能想清楚。 –

相關問題