2
질문 : 버튼을 클릭 할 때 투명 JFrame에 추가 된 JPanel을 숨기려고합니다.투명 JFrame에서 구성 요소의 가시성 설정
문제점 : JPanel이 제대로 숨겨져 있지 않지만 여전히 어두운 색으로 표시됩니다. 알파 채널을 사용하지 않으면 ok가 표시되지 않습니다.
도움 주셔서 감사합니다.
예제 코드 :
public class TestJFrame extends JFrame {
private JButton mSwitchButton = new JButton("Switch");
private JPanel mPanel = new JPanel();
public static void main(String[] args) {
new TestJFrame();
}
public TestJFrame() {
setSize(400, 300);
getContentPane().setLayout(new BorderLayout());
this.setBackground(new Color(50, 50, 50, 50));
mPanel.setBackground(Color.RED);
getContentPane().add(mPanel, BorderLayout.CENTER);
getContentPane().add(mSwitchButton, BorderLayout.SOUTH);
mSwitchButton.addMouseListener(new MouseListener() {
...
@Override
public void mouseClicked(MouseEvent arg0) {
mPanel.setVisible(false);
}
...
});
pack();
setVisible(true);
}
감사합니다. 배경 투명도의 상속이 어떻게 하위 구성 요소의 가시성에 영향을 미치는지 읽어야한다고 생각합니다. 가시성을 명시 적으로 설정하면 효과가 있었을 것입니다. 알파 채널을 변경함으로써 당신이 말하는 것처럼 일합니다. 건배. – Jon