簡體   English   中英

如何在秋千中創建翻轉按鈕

[英]How to create a rollover button in swing

我有兩個按鈕

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);

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

如何創建它,以便將鼠標移到按鈕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
    }
});

編輯

再回來

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

  • 結論是,第一個JButton (button A)不是,永遠不會在MouseKeyEvent的用戶端使用,因為這兩個事件都將(立即)轉換為roll_over

  • 那么只有一種方法,可以從KeyBinding s中以編程方式調用JButton.doClick() ,但是仍然存在問題,何時,如何以及為什么原因……使簡單的事情變得復雜

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM