2013-10-14 29 views
1

所以我有兩個按鈕,所以,當我移動我的鼠標按鈕A切換到按鈕B如何創建揮杆翻轉按鈕

JButton playB = new JButton(new ImageIcon("res/playA.png")); 
playB.setBorder(BorderFactory.createEmptyBorder()); 
playB.setContentAreaFilled(false); 
JButton playA = new JButton(new ImageIcon("res/playA.png")); 
playA.setBorder(BorderFactory.createEmptyBorder()); 
playA.setContentAreaFilled(false); 

我將如何創建它?我能想到的只是使用鼠標監聽器,但我想知道是否會有更好的方法。

+0

該開關的目的是什麼? JButton是非常模態的,你可以根據上下文做任何事情。 –

回答

2

我該如何創建它,以便當我將鼠標移到按鈕A上時,它會切換到按鈕B?我能想到的只是使用鼠標 聽衆,但我想知道是否會有更好的方法。

注意:setRolloverIcon方法不能用於此。

例如

JButton.getModel().addChangeListener(new ChangeListener() { 
    @Override 
    public void stateChanged(ChangeEvent e) { 
     ButtonModel model = (ButtonModel) e.getSource(); 
     if (model.isRollover()) { 
      //doSomething 
     } else if (model.isPressed()) { 
      //doSomething 
     } // etc 
    } 
}); 

編輯

再次回到

我將如何創建它,這樣,當我移動鼠標按鈕一家IT 開關按鈕B?我能想到的只是使用鼠標 聽衆,但我想知道是否會有更好的方法。

  • 結論則第一JButton (button A)沒有,也永遠不會是入店從MouseKeyEvent•用戶側,因爲這兩個事件將是女巫(immediatelly)到roll_over

  • 再有隻有一個辦法,叫編程JButton.doClick()KeyBinding S,但仍是有問題的時候,如何以及爲什麼原因......複雜的簡單的事情

+0

感謝一百萬這工作像一個魅力。 – Troubleshoot

+0

不客氣 – mKorbel