2017-05-29 6 views
-1

"draw"という名前のクラスから "ResumeScreen"メソッドにアクセスしようとしています。別のクラス(Expectedクラスまたはパッケージ)からメソッドを呼び出す

私はunPauseメソッドで "play"( "draw"のインスタンス)を使用していることを除き、Expected class or packageという例外を受け取ります。どんな助けでも大歓迎です!

問題の発生場所をコメントしました。

public class paused extends JPanel { 

    JPanel pause = new JPanel(); 
    public JButton resume; 
    public JButton settings; 
    public JButton main; 
    draw play = new draw(); 

    public paused() { 

     // Buttons declared 
     resume = new JButton("Resume"); 
     settings = new JButton("Settings"); 
     main = new JButton("Main Menu"); 

     // Sets dimensions and location of buttons 
     pause.setLayout(new BoxLayout(pause, BoxLayout.Y_AXIS)); 
     pause.add(resume); 
     pause.add(settings); 
     pause.add(main); 
     resume.addActionListener(new unPause()); 

     pause.revalidate(); 
     pause.repaint(); 
     pause.setVisible(true); 
     this.add(pause); 
    } 

    private class unPause implements ActionListener { 
     public void actionPerformed(ActionEvent event) { 
      remove(pause); 
      play.ResumeScreen(); //This is where the issue occurs 
      revalidate(); 
     } 
    } 
} 
+0

を解決するパッケージ/クラスパスを使用してプログラムを助けるべきです。あなたはそれをインポートする必要があります – Stultuske

+0

どのように私はそれをインポートするのですか?他のすべての輸入品のトップに?私はそれをカバーする "遊び"のようなインスタンスを作成すると思った。ありがとう! –

+0

nope。クラスが同じパッケージ/パスにない場合、コンパイル時エラー – Stultuske

答えて

0

ActionListenerの正しいコンポーネントをインポートしていますか? (import java.awt.event。*;)

unPauseクラスのコンストラクタでdraw()クラスのインスタンスを作成し、コンパイルしてみます。

これが役に立ちます。

+0

ねえ、ありがとう!私は、申し訳ありませんが、私は輸入品を含めるのを忘れていました。リストを呼ぶ:import javax.swing。*; import java.awt。*; import java.awt.event。*; –

+1

それはいいようですね!あなたはあなたの問題を解決しましたか? –

+0

まだ残念ながら、まだエラーがあります。私はどのように他のすべてのインポートステートメントでトップクラスのクラスをインポートすることができたかを探していたが、私はそれを理解できなかった –

0

あなたがして試すことができます:インポートpackage_name.class_name

をそして、それはそれは、クラスのドローは、同じパッケージ内に存在しないことを意味

関連する問題