0
我想實現一個GUI元素,它的作用就像一個按鈕,它對右/左擊和拖動有不同的反應。 說這個按鈕是一個對象。誰負責從按鈕調用正確的mouseevents方法,以及它是如何用通常的編程語言來設計的,例如, Java中的AWT?buttonlistening - 如何使它專業?
我想實現一個GUI元素,它的作用就像一個按鈕,它對右/左擊和拖動有不同的反應。 說這個按鈕是一個對象。誰負責從按鈕調用正確的mouseevents方法,以及它是如何用通常的編程語言來設計的,例如, Java中的AWT?buttonlistening - 如何使它專業?
我不認爲這是'專業的方式',但這是我的方式。 使用惰性初始化和匿名類。
private JButton btnSpecialbutton;
private JButton getBtnSpecialbutton() {
if (btnSpecialbutton == null) {
btnSpecialbutton = new JButton("SpecialButton");
btnSpecialbutton.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
System.out.println("Dragged");
}
});
btnSpecialbutton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON1)
{
System.out.println("Left Mouse Button");
}
else if(e.getButton() == MouseEvent.BUTTON3)
{
System.out.println("Right Mouse Button");
}
}
});
}
return btnSpecialbutton;
}