| 发表于:2007-01-04 23:47:58 楼主 |
请各位大哥帮看下下面的代码,我想remove掉原来的一个jpanel,然后在在它的位置上显示另一个jpanel,不知道这段代码为什么无法实现呢?帮帮忙,谢谢 import java.awt.*; import javax.swing.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; public class frame1 extends jframe { jpanel contentpane; borderlayout borderlayout1 = new borderlayout(); jpanel jpanel1 = new jpanel(); jpanel jpanel2 = new jpanel(); jbutton jbutton1 = new jbutton(); jtextfield jtextfield1 = new jtextfield(); public frame1() { try { setdefaultcloseoperation(exit_on_close); jbinit(); } catch (exception exception) { exception.printstacktrace(); } } /** * component initialization. * * @throws java.lang.exception */ private void jbinit() throws exception { contentpane = (jpanel) getcontentpane(); contentpane.setlayout(borderlayout1); setsize(new dimension(400, 300)); settitle( "frame title "); jpanel1.setborder(borderfactory.createetchedborder()); jpanel2.setborder(borderfactory.createetchedborder()); jbutton1.settext( "测试 "); jbutton1.addactionlistener(new frame1_jbutton1_actionadapter(this)); jtextfield1.settext( "jtextfield1 "); contentpane.add(jpanel1, java.awt.borderlayout.north); jpanel1.add(jbutton1); contentpane.add(jpanel2, java.awt.borderlayout.west); jpanel2.add(jtextfield1); } public void jbutton1_actionperformed(actionevent e) { panel p=new panel(); contentpane.remove(jpanel2); contentpane.add(p, java.awt.borderlayout.west); this.show(); } } class frame1_jbutton1_actionadapter implements actionlistener { private frame1 adaptee; frame1_jbutton1_actionadapter(frame1 adaptee) { this.adaptee = adaptee; } public void actionperformed(actionevent e) { adaptee.jbutton1_actionperformed(e); } } |
|
|
|
|