当前位置: 代码迷 >> Eclipse >> 为何把Panel放在Label下,panel的内容就不显示了?
  详细解决方案

为何把Panel放在Label下,panel的内容就不显示了?

热度:71   发布时间:2016-04-23 12:48:22.0
为何把Panel放在Label上,panel的内容就不显示了?在线等……
Java code
private void setUI() {//牌的位置        mainPanel = new MainPanel(levelInfo);        JLabel label = new JLabel();        label.setOpaque(true);//        label.setVisible(false);        label.add(mainPanel);        getContentPane().add(label,BorderLayout.CENTER);    }

代码如上,不加Label就能够正常显示。谢谢各位!

------解决方案--------------------
一般都是label 放在panel里面
------解决方案--------------------
应该把label放在panel上面,而不是panel放在label上面。
------解决方案--------------------
由于awt的历史原因,swing的所有组件都是继承自awt的Container,也就是说,在swing里,所有的组件都是容器。

但是,有些swing组件,比如JLabel,JTextField....等等,明显只具有自己的单一功能。在实现功能及界面显示时,根本就没有去管子组件。

so,你往这些特别的swing组件里添加子组件,是没有任何效果的
------解决方案--------------------
应改吧label放在panel里面,你放反了。