2012-04-22 13 views
4

ボタンをクリックしたときにボタンをクリックすると、クラスを呼び出すことができます。私はJavaを約10週間しか使用していませんでしたが、基本はわかりましたが、私がここで何をしたいのか理解してくれる場所は見つかりませんでした。マウス・ボタンをクラス・イベントのトリガーにする

私はまた

panel.addMouseListener(new MouseAdapter() { 
if (e.getButton()== MouseEvent.BUTTON1) { 
    Frame.class.getClass(circle); } 

私は通常、オブジェクトまたはタイプのメソッドgetClass()を見つけることができませんエラーが出る私はそれを試してみましたいずれかの方法を試してみました

public void mouseEntered(MouseEvent e) { 

       if (e.getButton()== MouseEvent.BUTTON3){ 
         Object triangle; 
         Frame.class.getClass(); 
       } 

      } 

を試してみました Objectではありません引数( JButton)に適用されます。

誰でも私が間違っていることを理解しようとするのを助けることができますか?

ありがとうございます。

+6

私はこのような問題を持っていた場合、私は見てね最初の場所は、特に[JButtonのチュートリアル](HTTPのチュートリアル、次のようになります// docs.oracle.com/javase/tutorial/uiswing/components/button.html)。確かにあなたはこの権利を遂行しており、MouseListenerをまったく使用すべきではなく、あなたのJButtonにActionListenerを追加するべきであることがわかりました。 –

+0

MouseEventの代わりにJButton ActionListenerを使用する方法もわかります。私はマウスイベントリスナーに行ったのは、友人がそれが私が何をしようとしているべきだと言ったからです。私はクラスのようなものを使用できることを知っているListenerはActionListener {public void actionPerformed(ActionEvent e){}を実装しています。私はまだ、アクションを別のファイルで作成したクラスにする方法を知らない。 – user1350056

+3

次に、基本的なオブジェクト指向のプログラミングの本を手に入れてください。私は別のファイルで作成したクラスを_最初にJava/OOに関するいくつかの基本的な知識が不足しているように聞こえます。 – Robin

答えて

1
public class MainFrame extends JFrame { 

private JButton button = new JButton("Run AnotherClass"); 

MainFrame() { 
    super(); 
    this.setTitle("Demo App"); 
    this.setSize(200,200); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    this.setLayout(new FlowLayout()); 
    this.add(button); 
    button.addActionListener(new ButtonHandler()); 
} 

public class ButtonHandler implements ActionListener {  
    public void actionPerformed(ActionEvent e) { 
     new AnotherClass(); 
    } 
} 

public static void main(String[] args) { 
    new MainFrame().setVisible(true); 
} 

}

public class AnotherClass { 
public AnotherClass() {  
    JOptionPane.showMessageDialog(null, "AnotherClass is in operation"); 
} 

}

+0

これで問題は解決するはずです – Manoj

関連する問題