如何让JFrame初始化后居于窗体正中?大家经常用什么布局管理器?你们是怎样管理窗体布局? Container contentPane = getContentPane(); contentPane.add(scroll, "Center"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得要设计比较复杂的GUI应用程序,还是要用GUI的图形编辑工具,所见即所得。比如说Jbuilder和sun one studio一般先用null的layout,设计定型后转换为GridBagLayout以下是居中的代码(jbuilder可以自动生成) Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); 嗬嗬,说句最老实的话,现在觉得XYLayout最爽。当然不是弹性最大的。不过还是觉得爽。 就是它,没错的 JFrame frame = new JFrame(); //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); } jbuiler的确自动生成这段代码,上面的代码如果没抄错的话,应该没有问题。另外,很久以前就听说sun要放弃gridbaglayout了,不过我好久没关心了,反正我是不用gridbaglayout的 好像GridBagLayout主要设计给GUI构造工具用的,自己用太麻烦了。而且先用null然后改成GridBagLayout是JBuilder的一个帮助的做法。 java在布局管理上提供了一系列的布局管理器,在界面不复杂的时候(如对话框,控件比较少的frame),利用几种管理器简单的组合就可以完成界面的布局设置,当然,在复杂的时候,可以使用gridbaglayout来完成。通常可以这样做,在jbuilder里头完成可视化设计,由于jbuilder用自己的类来进行了封装,因此,稍微做一下转换就完全可以用纯粹的jdk类来实现了。 我一向用的比较多的是BORDERLAYOUT HQL语句错误,求帮忙~~~!! sql模糊查询 java对象内存分配问题 请解释下面程序的语句!!!重要 菜鸟请教2个关于控件的问题,谢谢指点! 请问一下java图片无损缩放的解决方案。试过jimi,不行。 如何获取当前日期和时间 如何自定义java事件,并响应 在win下跑的很好的程序,到linux下就报出下面的错误,请大家帮忙 java api 也是类库中的一部分。对否? 有关JDBC的问题 VJ6安装问题
一般先用null的layout,设计定型后转换为GridBagLayout
以下是居中的代码(jbuilder可以自动生成)
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
JFrame frame = new JFrame();
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}