书接上回,这是我们已经写好的代码:
public static void main(String[] args) {
//这是一个窗口类
JFrame frame=new JFrame();
//设置窗口位置与大小
frame.setBounds(100,100,500,500);
//用户关闭时会关闭所有窗口
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置这窗口可见,记得尽量要把这一句放在最后面
frame.setVisible(true);
}
但是,这个窗口现在里面什么东西都没有.那我们该怎么添加呢?
我做一个比喻,现在我们的这个窗口相当于一个画板,而我们要画画,首先要在这个画板上面放上一张纸,然后再开始画.(当然,你也可以不放这一张纸,直接画在画板上面,不过,我个人并不建议这样做.)
所以,我们要有一张 "纸" ,也就是JPanel 对象,把他添加到窗口里面去
//创建一个面板,并且将这个面板添加到窗口里面去
JPanel panel=new JPanel();
frame.add(panel);
我们运行一下,发现和原来的窗口相比没有什么变化,嗯,当然,因为我们还没有往这一张"纸"里面画东西.
好,想一想平常一个窗口中一定会有什么东西? 对,没错,是按钮.
按钮的英文单词是什么? 是Button,因此我们就可以大概猜测到怎么添加按钮了
//创建一个按钮,并且将这个按钮添加到面板上面
JButton button=new JButton();
//设置按钮的文字内容
button.setText("按钮");
//添加按钮到面板
panel.add(button);
运行之后长这样:
这时有人便猜测,能不能给这个按钮设置位置和大小呢?
好,我们来试一下
//创建一个按钮,并且将这个按钮添加到面板上面
JButton button=new JButton();
//设置按钮的文字内容
button.setText("按钮");
//设置按钮的位置大小
button.setBounds(100,100,100,100);
//添加按钮到面板
panel.add(button);
运行后发现....这不行啊,和原来的一样.
这就涉及到布局管理了,简单来说,就是JPanel对本身的内容有默认的方式,我们需要将这一种方式取消掉,我们设置的按钮位置大小才有效.即:
panel.setLayout(null);
现在的整体代码长这样:
public static void main(String[] args) {
//这是一个窗口类
JFrame frame=new JFrame();
//设置窗口位置与大小
frame.setBounds(100,100,500,500);
//用户关闭时会关闭所有窗口
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//创建一个面板,并且将这个面板添加到窗口里面去
JPanel panel=new JPanel();
frame.add(panel);
//创建一个按钮,并且将这个按钮添加到面板上面
JButton button=new JButton();
//设置按钮的文字内容
button.setText("按钮");
//取消默认的布局管理
panel.setLayout(null);
//设置按钮的位置大小
button.setBounds(100,100,100,100);
//添加按钮到面板
panel.add(button);
//设置这窗口可见,记得尽量要把这一句放在最后面
frame.setVisible(true);
}
运行后发现效果改变了:
好,现在我们这个窗口里面已经有一个按钮了,但是这个按钮点了没有反应,所以我们要...
下一篇文章见