如何设置Jbutton的颜色

hud*_*udi 5 java swing jbutton

如何设置JButton的颜色?

我试过这个:

button.setBackground(Color.red);
Run Code Online (Sandbox Code Playgroud)

但没有成功.这只会改变按钮边框的颜色.然后我试图覆盖paintComponents

public void paintComponent(Graphics g) {
   g.setColor(Color.GREEN);
   g.fillRect(0, 0, getSize().width, getSize().height);
}
Run Code Online (Sandbox Code Playgroud)

但是现在我没有看到JButton上的文字

Cos*_*lis 6

为按钮着色的最佳方法是使用ImageIcons而不是文本.你可以使用Gimp来设计它们.

确保背景透明!

button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/myimage.png")));
Run Code Online (Sandbox Code Playgroud)

这是一个禁用的button.setDisabledIcon(...按钮:

在此输入图像描述

这是一个启用的按钮,没有按下:

在此输入图像描述

这是一个按下启用按钮:

在此输入图像描述

按下后的背景颜色变化由Swing完成.你只需要2张图片.