2015-01-29 4 views
1

JFrame의 배경색을 변경하는 방법을 연구했지만 시간이 많이 걸렸습니다. 현재 상태의 코드는 다음과 같습니다.JFrame의 배경색 설정이 작동하지 않습니다.

final ImageIcon cardIcon = new ImageIcon ("cardImages/aceSpades.gif");

JPanel panel = new JPanel() 
    { 

     public void paintComponent(Graphics g) { 
      super.paintComponent(g); 
      cardIcon.paintIcon(this, g, 20, 20); 
      } 
    }; 

JFrame window = new JFrame("Deck of Cards"); 
window.add(panel); 
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
window.setPreferredSize(new Dimension(200,200)); 
window.pack(); 
window.getContentPane().setBackground(Color.green); 
window.setVisible(true); 

이것은 stackoverflow에서 수행 한 모든 검색의 결과이므로 도움이 될 것입니다. 나는 실제 프레임 대신 내용 창을 변경해야한다는 것을 알고 있지만, 모든 노력은 기본 회색 배경이되는 것처럼 보입니다. 미리 감사드립니다.

편집 : panel은로드되는 이미지입니다. 편집 2 : panel과 같은 소리가 배경이 변경되는 것을 차단합니다.

+1

'패널'이란 무엇입니까? –

+0

죄송합니다. OP로 정의를 업데이트하겠습니다. 그것을 놓쳤습니다. –

+0

나는 window.add (panel)를 주석 처리했다. 그리고 JFrame 배경이 녹색이었고, 아마도 패널이 그것을 차단하고 있습니다. – JRowan

답변

2

프레임에 추가중인 JPanel이 배경색을 차단하고 있습니다. panel.setBackground을 통해 패널의 배경색을 설정하거나 panel.setOpaque(false)을 설정하여 패널을 투명하게 만드십시오.

+0

감사합니다. –

+0

@MadProgrammer 패널을 투명하게 만드는 것이 내 답변에 포함되어 있습니다. >.> –

+0

죄송합니다. 저는'panel.setBackground'에 가서 "옙, 그 대답입니다";) – MadProgrammer

관련 문제