zoukankan      html  css  js  c++  java
  • Java Swing之JFrame、JPanel

    JFrame窗口容器和JPanel面板容器

    Java Swing中,任何一个Swing组件都需要置于一个顶层容器中。JFrame窗口和JPanel面板是常用的顶层容器。JFrame中的顶层容器主要有JFrame、JDialog 和 JApplet。

    JFrame(窗口容器)

    Java GUI程序基本思路是以JFrame为基础,用来设计类似于Windows系统中窗口形式的界面,它是屏幕上window的对象,能够最大化、最小化、关闭。JFrame是Swing组件的顶层容器,该类继承了AWT的Frame类,支持Swing体系结构的高级GUI属性。

    JFrame类的常用构造方法如下:

    构造函数 描述
    JFrame() 构造一个初始时不可见的新窗体
    JFrame(String title) 创建一个具有title指定标题的不可见新窗体
    JFrame(GraphicsConfiguration gc) 在指定GraphicsConfiguration的屏幕设备和空白标题中创建一个新窗体
    JFrame(String title, GraphicsConfiguration gc) 创建具有指定标题和指定GraphicsConfiguration屏幕设备的新窗体

    JFrame类中的常用方法如下:

    构造函数 描述
    getContentPane() 返回此窗体的contentPane对象
    getDefaultCloseOperation() 返回用户在此窗体上单击“关闭”按钮时执行的操作
    setContentPane(Container contentPane) 设置contentPane属性
    setDefaultCloseOperation(int operation) 设置用户在此窗体上单击“关闭”按钮时默认执行的操作
    setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated) 设置JFrame窗口使用的Windows外观(如边框、关闭窗口的 小部件、标题等)
    setIconImage(Image image) 设置要作为此窗口图标显示的图像
    setJMenuBar(JMenuBar menubar) 设置此窗体的菜单栏
    setLayout(LayoutManager manager) 设置LayoutManager属性

    Example:
    1.使用JFrame无参构造方法创建一个窗口:

    package com.tianjh.swing;
    
    import javax.swing.*;
    
    /**
     * @author tianjh
     * @date 2021/3/5
     * 使用JFrame创建一个空窗口
     */
    public class JFrameDemo {
        public static void main(String[] args) {
            JFrame jFrame = new JFrame();
            // 设置窗口的标题
            jFrame.setTitle("这是由JFrame无参构造创建的窗口");
            // 设置窗口位置及尺寸
            jFrame.setBounds(500, 500, 500, 275);
            // 设置单击“关闭”按钮时退出程序
            jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            // 设置窗口是否可见,如果设置false或不设置那么窗口将不可见
            jFrame.setVisible(true);
        }
    }
    
    

    运行结果如下:
    在这里插入图片描述
    2.使用JFrame带参构造方法创建一个窗口:

    public class JFrameDemo {
        public static void main(String[] args) {
            // 创建一个带有指定标题的jFrame对象
            JFrame jFrame = new JFrame("这是由JFrame带参构造创建的窗口");
    
            // 设置窗口位置及尺寸
            jFrame.setBounds(500, 500, 500, 275);
            // 设置单击“关闭”按钮时退出程序
            jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            // 设置窗口是否可见,如果设置false或不设置那么窗口将不可见
            jFrame.setVisible(true);
        }
    }
    

    运行结果如下:
    在这里插入图片描述

    JPanel(面板容器)

    JPanel是Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame窗体中。
    JPanel类的常用构造方法如下:

    构造函数 描述
    JPanel() 使用默认的布局管理器创建新面板,默认的布局管理器为 FlowLayout
    JPanel(LayoutManagerLayout layout) 创建指定布局管理器的 JPanel 对象

    JPanel 类中的常用方法如下:

    方法名及返回值类型 描述
    Component add(Component comp) 将指定的组件追加到此容器的尾部
    void remove(Component comp) 从容器中移除指定的组件
    void setFont(Font f) 设置容器的字体
    void setLayout(LayoutManager mgr) 设置容器的布局管理器
    void setBackground(Color c) 设置组件的背景色

    Example:
    3.使用JPanel创建一个背景为橘色的面板

    package com.tianjh.swing;
    
    import javax.swing.*;
    import java.awt.*;
    
    /**
     * @author tianjh
     * @date 2021/3/5
     */
    public class JPanelDemo {
        public static void main(String[] args) {
            JFrame jFrame = new JFrame();
            jFrame.setTitle("使用JPanel创建一个背景为橘色的面板");
            // 设置窗口位置及尺寸
            jFrame.setBounds(500,500,500,275);
            // 设置单击“关闭”按钮时退出程序
            jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            // 创建面板
            JPanel jPanel = new JPanel();
            // 设置面板背景为橘色
            jPanel.setBackground(Color.orange);
            // 将面板添加到jFrame
            jFrame.add(jPanel);
            // 设置窗口是否可见,如果设置false或不设置那么窗口将不可见
            jFrame.setVisible(true);
        }
    }
    

    运行结果如下:
    在这里插入图片描述

    文中若有不足之处,麻烦联系我及时修改,谢谢!!
  • 相关阅读:
    2018-8-10-用-sim-卡加密保护资金
    2018-8-10-用-sim-卡加密保护资金
    2018-8-10-win10-uwp-MVVM-语义耦合
    2018-8-10-win10-uwp-MVVM-语义耦合
    2019-9-3-win10-uwp-收集-DUMP-文件
    2019-9-3-win10-uwp-收集-DUMP-文件
    PHP htmlspecialchars() 函数
    PHP htmlspecialchars_decode() 函数
    PHP htmlentities() 函数
    PHP html_entity_decode() 函数
  • 原文地址:https://www.cnblogs.com/jhtian/p/14487608.html
Copyright © 2011-2022 走看看