답변:
사용하다
label.setOpaque(true);
그렇지 않으면 기본값 opaque
이 false
for 이므로 배경이 페인트되지 않습니다 JLabel
.
로부터 JavaDoc을 :
참이면, 컴퍼넌트는 그 경계 내의 모든 픽셀을 페인트합니다. 그렇지 않으면 구성 요소가 일부 또는 모든 픽셀을 페인트하지 않아 기본 픽셀이 표시 될 수 있습니다.
자세한 정보는 Java 학습서 레이블 사용 방법을 읽으십시오 .
setOpaque (true)를 true로 설정해야합니다. 그렇지 않으면 배경이 양식에 그려지지 않습니다. 나는 그것이 true로 설정되지 않으면 픽셀의 일부 또는 전부를 폼에 칠할 것이라고 읽습니다. 배경은 기본적으로 투명하지만 적어도 나에게는 이상하게 보이지만 프로그래밍 방식에서는 아래 그림과 같이 true로 설정해야합니다.
JLabel lb = new JLabel("Test");
lb.setBackground(Color.red);
lb.setOpaque(true); <--This line of code must be set to true or otherwise the
JavaDocs에서
불투명
public void setOpaque(boolean isOpaque)
If true the component paints every pixel within its bounds. Otherwise,
the component may not paint some or all of its pixels, allowing the underlying
pixels to show through.
The default value of this property is false for JComponent. However,
the default value for this property on most standard JComponent subclasses
(such as JButton and JTree) is look-and-feel dependent.
Parameters:
isOpaque - true if this component should be opaque
See Also:
isOpaque()
배경의 경우 java.awt.Color
패키지로 가져 왔는지 확인하십시오 .
당신에 main
방법, 즉 public static void main(String[] args)
, 이미 수입 된 메소드를 호출합니다
JLabel name_of_your_label=new JLabel("the title of your label");
name_of_your_label.setBackground(Color.the_color_you_wish);
name_of_your_label.setOpaque(true);
주의 : 불투명 설정은 가시성에 영향을줍니다. Java의 대소 문자 구분을 기억하십시오.