JPanel jp = new JPanel();
jp.setLayout(new BorderLayout());
loginPanel = new LoginPanel(this);
loginPanel.setOpaque(false);
flashPlayer=new FlashPlayer();
flashPlayer.setFlashfolder("src/flash");
flashPlayer.setFileName("afternoon.swf");
flashPlayer.play();
jp.add(flashPlayer.flashPanel);
this.getLayeredPane().add(jp);
this.add(loginPanel);
上面是源码的一段,this是JFrame按理说如果JPanel设置透明成功的话,应该能显示jp的动画效果啊,怎么一直是覆盖呢?求解
------解决方案--------------------
改成
loginPanel.setOpaque(false);
看看是否显示jp的动画效果,如果不显示,那就是你的jp有问题。
------解决方案--------------------
问题出在 size, JRootPane 的专用 LayoutManager 对几个特殊的层面 glassPane, contentPane 等有适应当前 size 的处理,而 JLayeredPane 默认不带 LayoutManager,所以你加进去的 jp size 为 0