问题描述
importjavax.swing.JApplet;importjavax.swing.JButton;importjavax.swing.JPanel;importjavax.swing.SpringLayout;publicclassShowSpringLayoutextendsJApplet{publicShowSpringLayout(){SpringLayoutspringLayout=newSpringLayout();JPanelp1=newJPanel(springLayout);JButtonjbt1=newJButton();p1.add(jbt1);springLayout.putConstraint(SpringLayout.WEST,p1,5,SpringLayout.WEST,jbt1);JPanelp2=newJPanel();p2.add(p1);//1add(p2);//2//add(p1);}}为什么JButton控件不显示,而把最后1,2两行代码换成add(p1)后就能成功显示,求助????
解决方案
解决方案二:
panel类下的面板可以包含其他控件,一个界面也可以有多个面板,但是面板里面含面板是没有的,所以你的p2无效。javaAPI里有add(object)方法,所以他也不报错
解决方案三:
你现在是jpanel里添加jpanel,p2添加p1.
解决方案四:
引用1楼yanyuegongzuoshi的回复:
panel类下的面板可以包含其他控件,一个界面也可以有多个面板,但是面板里面含面板是没有的,所以你的p2无效。javaAPI里有add(object)方法,所以他也不报错
嗯,+1。
解决方案五:
我愿意跟你讨论这个问题,在我看来,是你的布局没有弄好,你可以试一试,将最后三行代码全部注释掉,看看能不能显示。另外,我可以肯定一点,在extendsJFrame中,是可以面板上添加面板的,因为面板本身就是一个容器(我的理解,说的不对请大侠指正)。你的qq号码是多少?我晚上有时间,我们讨论!我的是786230163,看到后加我
解决方案六:
p2添加p1
解决方案七:
4楼说的是,panel是一个面板本身是一个容器可以包含其他容器的,还有你的panel面板想要显示需要将整个面板add到JApplet中去,所以才能够显示
解决方案八:
importjavax.swing.JApplet;importjavax.swing.JButton;importjavax.swing.JPanel;importjavax.swing.SpringLayout;publicclassShowSpringLayoutextendsJApplet{publicShowSpringLayout(){JButtonjbt1=newJButton("ok");SpringLayoutspringLayout=newSpringLayout();JPanelp1=newJPanel(springLayout);p1.add(jbt1);springLayout.putConstraint(SpringLayout.WEST,p1,5,SpringLayout.WEST,jbt1);add(p1);}}
解决方案九:
看看这个行吗