服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

内部窗体设计与窗体定位


  import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.uimanager;
class mywindow extends jframe
{
jbutton button1;
jbutton button2;

jinternalframe interframe1,interframe2;
jpanel jpanel;
mywindow()
{

setvisible(true);
//setsize(400,400)见下面的说明!
jpanel=(jpanel)this.getcontentpane();
jpanel.setlayout(new gridlayout(1,2));

button1=new jbutton("我");
button2=new jbutton("你");

//------------------------------------------------------
interframe1=new jinternalframe("内窗体a",true,true,true,true);
interframe1.setsize(150,250);
interframe1.setvisible(true); // 必须加上此句 !否则内部窗体无法 !
interframe1.getcontentpane().add(button1);
jdesktoppane desk1=new jdesktoppane();
desk1.add(interframe1);
jpanel.add(desk1);
//----------------------------------------------------
interframe2=new jinternalframe("内窗体b",true,true,true,true);
interframe2.setsize(150,250);
interframe2.setvisible(true);
interframe2.getcontentpane().add(button2,borderlayout.center);
interframe2.getcontentpane().add( new jlabel("你好啊"),borderlayout.north);
jdesktoppane desk2=new jdesktoppane();
desk2.add(interframe2);
jpanel.add(desk2);
}
//--------------------------------------------------------

public dimension getpreferredsize()
{
return new dimension(500,500);
/*注意:这种方式设置窗体大小显示的效果更好!
*如果直接这样设置setsize(400,400)大小 ,效果不好
* 建议初学者测试!
*/
}

}
public class interframe
{
public static void main(string args[])
{ mywindow win=new mywindow();
win.pack();
// win.setvisible(true); 如果有此句,内部窗体不显示!
// win.setsize(new dimension(400,400));
dimension screensize = toolkit.getdefaulttoolkit().getscreensize();
dimension framesize = win.getsize();
if (framesize.height > screensize.height)
{
framesize.height = screensize.height;
}
if (framesize.width > screensize.width)
{
framesize.width = screensize.width;
}
win.setlocation((screensize.width - framesize.width) / 2, (screensize.height - framesize.height) / 2);
win.addwindowlistener(new windowadapter()
{
public void windowclosing(windowevent e)
{system.exit(0);}
});
}

}

扫描关注微信公众号