Java 立根台是未装饰的JFrame

Java 立根台是未装饰的JFrame,java,swing,jframe,cardlayout,Java,Swing,Jframe,Cardlayout,好的。。我正在改写这个问题 我发现setUnderatted()不是问题所在 问题是setBackground(新颜色(0,0,0,0) 经过几次尝试后,卡片布局显示了正确的结果 当背景的alpha通道为1时(完全不透明) 否则就会显示出错误的结果 public SmartPhone() { super("SmartPhone"); setUndecorated(true); setBackground(new Color(1f, 1f, 1f, .5f));

好的。。我正在改写这个问题

我发现
setUnderatted()
不是问题所在

问题是
setBackground(新颜色(0,0,0,0)

经过几次尝试后,
卡片布局
显示了正确的结果

当背景的alpha通道为1时(完全不透明)

否则就会显示出错误的结果

public SmartPhone() {
    super("SmartPhone");

    setUndecorated(true); 
    setBackground(new Color(1f, 1f, 1f, .5f));

    setSize(FRAME_WIDTH, FRAME_HEIGHT);
    init(); start();

    device = this;
}
这是我的构造函数。
init()
是创建布局的方法,
start()
是添加
MouseAdapter
的方法


我的
setBackground()
有什么问题吗?

CardLayout
中的组件之间切换时,请使用
CardLayout.show()
方法,不要直接使用
setVisible()
。如下:

CardLayout cardLayout = new CardLayout();
JPanel cardPanel = new JPanel(cardLayout);
String oneStr = "One";
String twoStr = "Two";
JLabel oneLabel = new JLabel(oneStr);
JLabel twoLabel = new JLabel(twoStr);
cardPanel.add(oneLabel, oneStr);
cardPanel.add(twoLabel, twoStr);

cardLayout.show(cardPanel, oneStr);//sets "One" visible
cardLayout.show(cardPanel, twoStr);//sets "Two" visible
请看这里:

嗯……解决了

我不知道我做了什么但在做了其他项目之后


组件打印得很好..!

感谢您的评论和宝贵提示。但同样,它不起作用..:(我已更新了我的问题和代码。如果有任何问题,请通知我。