我有一个由几个类组成的Java程序。
现在,我在名为Application的类中创建了Java程序的接口。我在那里定义了几个按钮。
这是我将鼠标侦听器添加到Application类中的按钮的方式:
我还有一个名为DrawingCanvas的类,其中包含许多鼠标事件处理程序。这些事件处理程序之一是mousePressed。这是mousePressed的代码:
mousePressed的问题在于它无法识别按钮名称,例如“ Button_Square”,“ Button_Rectangle”等。这是因为这些按钮已在Application类而不是DrawingCanvas类中声明。
请问如何获取触发鼠标事件的按钮名称?不要忘记声明按钮的类与实现mouselisteners和mousemotionlisteners的类不同。谢谢 :)
最佳答案
只要您要创建8个不同的侦听器,请使用JButton进行区分。
Button_Square.addMouseListener(new DrawingCanvas(Button_Square));
Button_Square.addMouseMotionListener(new DrawingCanvas(Button_Square));
Button_Rectangle.addMouseListener(new DrawingCanvas(Button_Rectangle));
Button_Rectangle.addMouseMotionListener(new DrawingCanvas(Button_Rectangle));
Button_Circle.addMouseListener(new DrawingCanvas(Button_Circle));
Button_Circle.addMouseMotionListener(new DrawingCanvas(Button_Circle));
Button_Triangle.addMouseListener(new DrawingCanvas(Button_Triangle));
Button_Triangle.addMouseMotionListener(new DrawingCanvas(Button_Triangle));