使鼠标按钮触发类事件
问题描述:
我真的很努力制作一个程序,它有按钮,当一个按钮被点击时,它调用一个类来工作。我现在只用了大约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
)。
任何人都可以请帮助我试图找出我做错了什么?
谢谢。
答
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
如果我有这样的问题,我会首先关注的地方将是教程,特别是[JButton的教程(HTTP:// docs.oracle.com/javase/tutorial/uiswing/components/button.html)。当然,你已经做到了这一点,你已经看到你不应该使用MouseListener,而是将一个ActionListener添加到你的JButton中。 – 2012-04-22 20:48:48
我得到如何使用JButton ActionListener而不是MouseEvent。我只参加了一个MouseEvent侦听器,因为一个朋友说这就是我应该尝试的。我知道我可以使用像类Listener实现ActionListener {public void actionPerformed(ActionEvent e){然后某种如果单击此按钮,执行此操作。我仍然不知道如何让这个动作做一个我在另一个文件中创建的类。 – user1350056 2012-04-22 21:00:08
然后你应该选择你的基本OO编程书籍,因为_do是我在另一个file_中创建的一个类,听起来像是你首先缺乏一些基本的Java/OO知识 – Robin 2012-04-22 21:04:34