簡體   English   中英

JButton - 設置按下時顯示的顏色?

[英]JButton - set color to be shown when its pressed?

我想在按下時更改 JButton 的外觀。 我希望背景不是深灰色(默認),而是藍色。 我看了這篇文章,發現它使用 JButton.setPressedIcon(Icon image) - Making Image button 在 Swing 中看起來被按下/點擊

我不想改變形象。 我只想在按下按鈕時將背景顏色更改為非默認值。

我怎樣才能做到這一點 ? 是否可以在沒有任何覆蓋或創建新類的情況下做到這一點?

您可以在自定義ButtonUI覆蓋paintButtonPressed() 一個相關的例子見here

public class CustomMetalButtonUI extends MetalButtonUI {
    @Override
    protected Color getSelectColor() {
        return new Color(166, 66, 66); // Color
    }
}

要么...

public class CustomMetalButtonUI extends BasicButtonUI {
    @Override
    protected void paintButtonPressed(Graphics g, AbstractButton b) {
        if (b.isContentAreaFilled()) {
            Dimension size = b.getSize();
            g.setColor(new Color(166, 66, 66)); // Color
            g.fillRect(0, 0, size.width, size.height);
        }
    }
}

暫無
暫無

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

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