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

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

posted @ 2021-03-05 17:55  tianjh  阅读(9890)  评论(0编辑  收藏  举报