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

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

    文中若有不足之处,麻烦联系我及时修改,谢谢!!
  • 相关阅读:
    java.lang.NoSuchMethodError:antlr.collections.AST.getLine() I
    T7 java Web day01 标签HTML
    T6 s1 day19
    T5 s5 Day18
    T5 s4 Day 17
    T5 s3 day16
    T5 s2 Day 15
    T5 s1 day14
    T4 S03 day 12
    T4 S01 day1
  • 原文地址:https://www.cnblogs.com/jhtian/p/14487608.html
Copyright © 2011-2022 走看看