GUI之(Swing之Frame窗体、使用Container 为窗体设置属性、设置文本居中)


 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);

            }

        }
}

相关