我正在使用 visualswing4eclipse 在 Java 上进行编码。我的环境是 Eclipse IDE 版本:Luna Service Release 2 (4.4.2)。我正在尝试编写一个函数,当用户更改窗口大小时,它会自动调整框架内所有组件的大小。这是代码:
private void componentComponentResized(ComponentEvent event) {
int a=getContentPane().getWidth();
int b=getContentPane().getHeight();
Font font1 = new Font(Font.SANS_SERIF, 2, (int) (b*0.05));
jTextField0.setBounds((int) (a*0.3), (int) (b*0.1), (int) (0.68*a), (int) (0.1*b));
jLabel0.setBounds((int) (a*0.02), (int) (b*0.1), (int) (a*0.27), (int) (0.1*b));
// jLabel0.setFont(font1);
// jTextField0.setFont(font1);
}
目前,setBounds 工作正常,但如果我取消注释 setFont,setBounds 停止工作,就好像我没有用 setBound 写行。我怎么解决这个问题?
编辑:我创建了新的 GroupLayout 以这种方式设置组件的位置:
private void initComponents() {
setLayout(new GroupLayout());
我可以在自动调整大小功能中使用此布局吗?如果不是,哪种布局对我来说是不错的选择? 这是基本尺寸的框架视图