как установить цвет Jbutton - PullRequest
       3

как установить цвет Jbutton

5 голосов
/ 23 октября 2011

Как мне установить цвет кнопки JButton?

Я пробовал это:

button.setBackground(Color.red);

но безуспешно. Это просто меняет цвет границы кнопки. Затем я попытался переопределить paintComponents

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

но сейчас я не вижу текст на JButton

Ответы [ 2 ]

6 голосов
/ 23 октября 2011

Лучший способ раскрасить кнопки - использовать ImageIcons вместо текста.Вы можете использовать Gimp для их разработки.

Убедитесь, что фон прозрачный !

button.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/myimage.png")));

Это отключенная кнопка button.setDisabledIcon(...:

enter image description here

Это активированная кнопка, не нажатая:

enter image description here

Это нажатая активированная кнопка:

enter image description here

Изменение цвета фона после нажатия производится Swing.Для этого вам нужно всего 2 изображения.

3 голосов
/ 23 октября 2011

То, на что влияет цвет фона, зависит от вашего внешнего вида. Смотри http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/index.html

Вы должны выбрать внешний вид, который использует цвет фона так, как вы хотите. Я не знаю, что вы используете в данный момент. Если у вас есть LAF по умолчанию, достаточно установить цвет и убрать границу:

button.setBackground(color);
button.setBorder(null);
...