private class MyCustomButton extends JButton{...}
private class MyCustomButton2 extends MyCustomButton{...}
public class Example1 extends JPanel{
Example1{
MyCustomButton b1=new MyCustomButton("0");
MyCustomButton2 b2=new MyCustomButton1("b2");
}
private class ButtonListener implements ActionListener//, KeyListener
{
public void actionPerformed(ActionEvent e)
{
System.out.println(e);
}
}
在上面的例子中,我有2個JButton,一個是自定義的,第二個擴展了第一個。如何從Action Listener中獲取java中的按鈕(JButton)的類或類型?
java.awt.event.ActionEvent[ACTION_PERFORMED,cmd=0,when=1395217216471,modifiers=Button1] on **Example1.MyCustomButton**[,165,0,55x55,alignmentX=0.0,alignmentY=0.5,[email protected],flags=16777504,maximumSize=,minimumSize=,preferredSize=,defaultIcon=pressed.png,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=0,defaultCapable=true]
爲了實現我的動作監聽器,我從打印輸出java知道能夠返回按下的按鈕類,我該怎麼做?
編輯1: 我的目標是實現一個gui,它有2個類的按鈕,如果點擊了一個按鈕,我有一組操作,反之亦然,希望它會簡化我的動作偵聽器實現。
被捉住你應該考慮使用的[動作API(http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html) ,依靠類的類型是錯誤的... – MadProgrammer
不相關:不擴展任何JSomething,它們被設計爲使用原樣 – kleopatra