Подтвердить что ты не робот

Как установить цвет фона JButton на Mac OS

Обычно с Java Swing вы можете установить цвет фона кнопки:

myJButton.setBackground(Color.RED);

что приведет к красной кнопке. Но на Mac OS этот метод, кажется, игнорируется. Кнопка просто сохраняет цвет по умолчанию.

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

4b9b3361

Ответ 1

Вы пытались установить JButton.setOpaque(true)?

JButton button = new JButton("test");
button.setBackground(Color.RED);
button.setOpaque(true);

Ответ 2

Пробовали ли вы установить окрашенную границу false?

JButton button = new JButton();
button.setBackground(Color.red);
button.setOpaque(true);
button.setBorderPainted(false);

Он работает на моем mac:)

Ответ 3

Если вам не требуется использовать внешний вид Apple, просто исправить это, чтобы добавить следующий код в приложение или апплет, прежде чем добавлять какие-либо компоненты графического интерфейса в JFrame или JApplet:

 try {
    UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() );
 } catch (Exception e) {
            e.printStackTrace();
 }

Это придаст внешний вид и внешний вид кросс-платформенного интерфейса, и затем метод setBackground() будет работать, чтобы изменить цвет фона JButton.

Ответ 4

У меня тоже есть mac! вот код, который будет работать:

myButton.setBackground(Color.RED);
myButton.setOpaque(true); //Sets Button Opaque so it works

прежде чем что-либо делать или добавить какие-либо компоненты, установите внешний вид, чтобы он выглядел лучше:

try{
   UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
 }catch(Exception e){
  e.printStackTrace(); 
 }

Предположим, что вы изменили внешний вид и внешний вид кросс-платформы, надеюсь, что я помог!:)

Ответ 5

В соответствии с вашими собственными целями вы можете сделать это на основе setOpaque (true/false) и setBorderPainted (true/false); попытайтесь объединить их в соответствии с вашими задачами