(2)Swing窗体基本设置

import javax.swing.*;
import javax.swing.plaf.FontUIResource;
import java.awt.*;
import java.util.Enumeration;

public class From {
    private JPanel From;
    public static void main(String[] args) {
        JFrame frame = new JFrame("From");
        frame.setContentPane(new From().From);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        //设置窗体大小是否能改变
        frame.setResizable(false);
        //字体设置
        InitGlobalFont(new Font("alias", Font.PLAIN, 12));
        /******************************/
        //窗体设置为全屏
        //frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        //设置窗体的宽度,高度
        frame.setSize(600,500);
        //指定窗体初始位置x,y(分屏率不同位置发生变化)
        //frame.setLocation(600, 200);
        //设置窗口相对于指定组件的位置,null表示居中
        frame.setLocationRelativeTo(null);
        /******************************/
        //获取图标路径
        Image icon= new ImageIcon("icon/qiaoba.png").getImage();
        //
        //设置图标
        frame.setIconImage(icon);
        //设置标题名
        frame.setTitle("MES");
        //创建菜单栏条
        JMenuBar bar = new JMenuBar();
        //创建一个菜单
        JMenu menu1 = new JMenu("文件");
        JMenu menu2 = new JMenu("查询");
        //创建一个
        JMenuItem itemConn = new JMenuItem("连接");
        //把菜单项添加到菜单
        menu1.add(itemConn);
        //把菜单添加到菜单栏
        bar.add(menu1);
        bar.add(menu2);
        //把菜单栏添加到窗体
        frame.setJMenuBar(bar);
        //发现把显示放到最后不会出现不现实控件的情况
        /******************************/
        //

        /******************************/
        frame.setVisible(true);
    }

    // 统一设置字体,父界面设置之后,所有由父界面进入的子界面都不需要再次设置字体
    private static void InitGlobalFont(Font font) {
        FontUIResource fontRes = new FontUIResource(font);
        for (Enumeration<Object> keys = UIManager.getDefaults().keys();
             keys.hasMoreElements(); ) {
            Object key = keys.nextElement();
            Object value = UIManager.get(key);
            if (value instanceof FontUIResource) {
                UIManager.put(key, fontRes);
            }
        }
    }
}

框架层次结构

Component类是所有GUI对象的基类。

 Jframe容器上面放JPanel。JPanel容器上放控件

 在构造函数中初始化控件

import javax.swing.*;

public class From extends JFrame{
    private JPanel jPanel;
    private JTextField text1;
    From(){
        init();
    }
    public static void main(String[] args) {
        JFrame frame = new JFrame("From");
        frame.setContentPane(new From().jPanel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setSize(600,500);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
    private void init(){
       text1 =new JTextField("abc",10);
       jPanel.add(text1);
    }
}
原文地址:https://www.cnblogs.com/buchizaodian/p/8684711.html