JFrame的组件会比Frame多一些组件:
注:在JFrame中不使用Container,那我们为窗体设置的东西都不会生效
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Scanner;
//启动类
public class main {
public static void main(String[] args) {
//建立一个窗口
new JFrameDemo().init();
}
static class JFrameDemo extends JFrame {
//初始化窗体的方法,这样就不用把代码放在构造器中了
public void init() {
//最大的窗口
JFrame jframe = new JFrame("这是一个窗口");
this.setVisible(true);//设置窗口可见
this.setBounds(100, 100, 400, 300);//设置窗口大小和位置
//设置文字JLabel
JLabel jlabel = new JLabel("欢迎");
//在这里直接使用窗口对象添加文字到窗体中是不会显示的,只有在下面的容器中添加才行
// jframe.add(jlabel);
//设置文本居中,使用布局方式是居中不了的
jlabel.setHorizontalAlignment(SwingConstants.CENTER);
//调用默认关闭窗口事件,EXIT_ON_CLOSE:关闭的属性
jframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//因为用的是升级后的JFrame类,所以这个关闭窗口的方法,他已经自己写好了,我们只需要自己调用就可以了
//获得容器,这样就可以在容器中设置窗体的颜色了,如果直接用窗体的对象名.setBackground方法去设置颜色是看不到的,而且关于设置其他东西要也使用容器去设置
Container container = this.getContentPane();
container.setBackground(Color.yellow);//设置颜色
//添加文字到窗口中
container.add(jlabel);
}
}
}