Java JButton-设置按下按钮时显示的颜色?

Java JButton-设置按下按钮时显示的颜色?,java,swing,jbutton,Java,Swing,Jbutton,我想改变一个按钮按下时的外观。我希望背景为蓝色,而不是深灰色(默认)。我看了这篇文章,发现它使用了JButton.setPressedIcon(图标图像)—— 我不想改变图像。我只想在按下按钮时将背景颜色更改为非默认值 我该怎么做?是否可以在不重写或创建新类的情况下执行此操作?相同的情况下,使用解决方案。见链接: 相同的情况下,有解决方案。见链接: 您可以在自定义的按钮ui中覆盖paintButtonPressed()。可以看到一个相关示例。您可以在自定义的ButtonUI中覆盖paintBut

我想改变一个按钮按下时的外观。我希望背景为蓝色,而不是深灰色(默认)。我看了这篇文章,发现它使用了JButton.setPressedIcon(图标图像)——

我不想改变图像。我只想在按下按钮时将背景颜色更改为非默认值


我该怎么做?是否可以在不重写或创建新类的情况下执行此操作?

相同的情况下,使用解决方案。见链接:


相同的情况下,有解决方案。见链接:


您可以在自定义的
按钮ui
中覆盖
paintButtonPressed()
。可以看到一个相关示例。

您可以在自定义的
ButtonUI
中覆盖
paintButtonPressed()
。我们可以看到一个相关的例子

或者

或者


不重写或创建新类是否可能?您将与ButtonUI委托争用。不重写或创建新类是否可能?您将与ButtonUI委托争用。-1获得这样的答案。我需要特别的东西。我也能找到很多这样的链接-@超级明星,那你为什么不呢?”-1对于这样一个答案“只是要问你,为什么?!”?!?我只提供了一个与同一案件的链接,这取决于你是否想使用它。你不必在每次解决让汽车滚动的问题时都重新发明车轮。-1为这样的答案。我需要特别的东西。我也能找到很多这样的链接-@超级明星,那你为什么不呢?”-1对于这样一个答案“只是要问你,为什么?!”?!?我只提供了一个与同一案件的链接,这取决于你是否想使用它。你不必每次解决让汽车滚动的问题时都重新发明轮子。考虑到你的能力,最好用图标来实现这一点。按钮支持各种图标,并且在状态发生变化时会在它们之间切换。考虑到您的状态,最好使用图标。一个按钮支持各种图标,如果状态发生变化,它将在这些图标之间切换。
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);
        }
    }
}