当你将数据放入Swing的窗口(容器)时候,Swing会自动处理其中的数据,将其调整到合适的大小,以适配不同的机器(如手机和电脑)
你可以在使用JFrame对象(frame)的add函数的时候传递第二个参数给它
如:frame.add(bnt3, BorderLayout.SOUTH);
如果你不设置数据的位置Swing窗口会将数据默认设置为居中,如果连续两次不设置,第二次输入会覆盖掉第一次。
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class test extends JFrame{ //需要继承JFrame
public test(String title)
{
JFrame frame = new JFrame(title);
JButton bnt1 = new JButton("Hello,world!");
JButton bnt2 = new JButton("Hello,java");
JButton bnt3 = new JButton("Hello,python");
frame.add(bnt1);
frame.add(bnt2);
frame.add(bnt3, BorderLayout.SOUTH);
//frame.pack(); 会自动分配窗口大小
frame.setBounds(200,200,300,200);
//设置窗口的属性 窗口位置以及窗口的大小
frame.setVisible(true);//设置窗口可见
frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
//也可以(JFrame.EXIT_ON_CLOSE)
}
public static void main(String[] args) {
new test("窗口"); //创建窗口
}
}
结果:
在 FoxAndRabbit 中的FoxAndRabbit类中View类型的对象theView就是一个容器,它可以放在frame中,所以说容器中也可以存放容器。
你可以将如下代码加入到“frame.pack();”的前面:
JButton btnStep = new JButton("单步");
frame.add(btnStep, BorderLayout.NORTH);
结果: