2013-08-10 2 views
2

배경색을 JButton으로 설정하는 것에 대한 질문이 있습니다.배경색을 JButton으로 설정

이 메서드는 테두리 색만 변경하는 것으로 보입니다. 여기의 차이 (왼쪽 jButton입니다)입니다 : 배경 동일하게 만들 수있는 방법은

enter image description here

있습니까? 윈도우 8에 내가 setLookAndFeel 사용하고

+2

[* Java Swing button colors *] (http://stackoverflow.com/q/3420311/230513)도 참조하십시오. – trashgod

답변

14

이 중 금속 (기본값) 또는 Windows PLAFs 작동합니다.

import java.awt.*; 
import javax.swing.*; 

class ColoredButton { 

    public static void main(String[] args) { 
     Runnable r = new Runnable() { 

      @Override 
      public void run() { 
       try { 
        UIManager.setLookAndFeel(
          UIManager.getSystemLookAndFeelClassName()); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 

       JButton b1 = new JButton("Button 1"); 
       b1.setBackground(Color.RED); 
       // these next two lines do the magic.. 
       b1.setContentAreaFilled(false); 
       b1.setOpaque(true); 

       JOptionPane.showMessageDialog(null, b1); 
      } 
     }; 
     SwingUtilities.invokeLater(r); 
    } 
} 
+0

고마워, setContentAreaFilled (false)를 추가해야했습니다. 이제는 실제로 작동합니다. –

+0

마법 : – brimborium

0

버튼에 .setOpaque (true)를 사용하십시오.

+1

효과가없는 것 같습니다. 결과는 여전히 경계가 빨간색으로 만 표시됩니다. –

관련 문제