- 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里面,你放反了。