我自己查了下,又实践了一下
结论:
(1)除了有些适合于固定大小的组件,比如说按钮,只要你用了布局管理器
它就能够自动的随窗口变化了.
(2)至于象按钮类的你也希望可以变化的话,那就要手动布局了.我做的一个小类子如下,主要是应用componentResized事件.
package test;
import java.awt.
import java.awt.
import javax.swing.JButton;
import javax.swing.JFrame;
public class Size extends JFrame implements ComponentListener{
private JButton aa = new JButton("aa");;
public Size(String name){
this.setTitle(name);
this.setLayout(null);
this.setSize(600, 400);
aa.setBounds(250, 250, (int)(this.getWidth() * 0.5), (int)(this.getHeight() * 0.5));
this.addComponentListener(this);
this.add(aa);
this.setVisible(true);
}
public static void main(String args[])
{
new Size("Size Change");
}
public void componentHidden(ComponentEvent e) {
}
public void componentMoved(ComponentEvent e) {
}
public void componentResized(ComponentEvent e) {
aa.setBounds(80, 80, (int)(this.getWidth() * 0.1), (int)(this.getHeight() * 0.1));
this.validate();
}
public void componentShown(ComponentEvent e) {
}
}