问题:隐藏在单击按钮时添加到透明JFrame的JPanel。
问题:JPanel未正确隐藏,但仍显示颜色较深。如果没有启用Alpha通道,它会隐藏。
感谢您的帮助。
示例代码:
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);
}
答案 0 :(得分:3)
较暗的颜色与JFrame有关 - JFrame本身没有被正确隐藏。但是,当你设置
时,你的JPanel被隐藏得很好this.setBackground(new Color(50, 50, 50, 50));
然后删除JPanel,剩下的就是50 alpha值。将其设置为:
this.setBackground(new Color(50, 50, 50, 0));
在我的机器上测试时纠正了这个问题。