使鼠标按钮触发类事件

使鼠标按钮触发类事件

问题描述:

我真的很努力制作一个程序,它有按钮,当一个按钮被点击时,它调用一个类来工作。我现在只用了大约10周的Java,而且我已经掌握了基础知识,但是我还没有找到任何让我了解我想在这里做什么的地方。使鼠标按钮触发类事件

我已经试过

public void mouseEntered(MouseEvent e) { 

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

      } 

我也曾尝试

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

不管怎么样,我已经尝试过了我通常会找不到对象或类型的方法getClass()错误Object不适用于参数(JButton)。

任何人都可以请帮助我试图找出我做错了什么?

谢谢。

+6

如果我有这样的问题,我会首先关注的地方将是教程,特别是[JButton的教程(HTTP:// docs.oracle.com/javase/tutorial/uiswing/components/button.html)。当然,你已经做到了这一点,你已经看到你不应该使用MouseListener,而是将一个ActionListener添加到你的JButton中。 – 2012-04-22 20:48:48

+0

我得到如何使用JButton ActionListener而不是MouseEvent。我只参加了一个MouseEvent侦听器,因为一个朋友说这就是我应该尝试的。我知道我可以使用像类Listener实现ActionListener {public void actionPerformed(ActionEvent e){然后某种如果单击此按钮,执行此操作。我仍然不知道如何让这个动作做一个我在另一个文件中创建的类。 – user1350056 2012-04-22 21:00:08

+3

然后你应该选择你的基本OO编程书籍,因为_do是我在另一个file_中创建的一个类,听起来像是你首先缺乏一些基本的Java/OO知识 – Robin 2012-04-22 21:04:34

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 2012-05-10 14:29:02