Swing程序设计(2)JFrame窗体

文章目录

  • 前言
  • 一、JFrame窗体的介绍
    • 1.创建JFrame窗体
    • 2.窗体容器中添加或移除组件
  • 二、JFrame窗体的使用
    • 1.JFrame类的常用构造方法
    • 2.实例相关语法
  • 总结

前言

        该文将较为详细地介绍了Swing组件中的JFrame窗体。JFrame窗体是大部分Swing组件的一个载体,这些组件都要在这个窗体上面。而JDialog是一个对话框,可以理解为JFrame窗体向下细分的一个对话框窗体。


一、JFrame窗体的介绍

        1.创建JFrame窗体

        JFrame窗体是Swing应用程序中各个组件的承载体,处于十分重要的位置。在开发程序界面时,通过继承 java.swing.JFrame类,创建一个窗体对象,在这个窗体中添加组件,同时为组件设置事件(通常做法:创建一个方法进行此操作,再于main静态方法中实例化调用)。        

        语法:

JFrame jf = new JFrame(title);
//jf:JFrame类的对象
Container container = jf.getContentPane();
//container:Container类的对象,使用JFrame对象调用getContentPane()方法获取

                getContentPane() 方法:Swing组件的窗体于组件和容器相关,所以在创建完JFrame对象后,需要调用getContentPane() 方法将窗体转换为容器,然后才能在该窗体(容器)中添加组件或设置布局管理器。              

        2.窗体容器中添加或移除组件

        (1)添加组件至容器的语法:add()方法

                容器对象.add(new 组件("组件名称"));

                  实例: 

container.add(new JButton("按钮"));
//向 container 容器添加了一个“按钮”组件

                   添加后,界面效果展示:

       (2)将组件从容器中删除的语法:remove()方法

                 容器对象.remove(new 组件(”按钮“));               

                  实例:

container.remove(new JButton("按钮"));
//从container容器中删去一个“按钮”的组件

                   移除后,界面效果展示: 

二.JFrame窗体的使用 

        1.JFrame类的常用构造方法

        第一种形式的构造方法:创建一个不可见没有标题的新窗体。 (要使用 setVisible(布尔值)方法使得窗体可见,一但可见,并且在main静态方法中实例化该方法后,点击运行就会生成这个窗体)

public JFrame(){

    //some codes

}

         第二种形式的构造方法:创建一个不可见有标题的新窗体。(本实例中采取此方法,并且都要用setVisible()方法,在main静态方法中实例化)        

public JFrame(String title){
    //title为窗体的标题,可自定义
    //some codes

}

            实例:                                  

import javax.swing.*;
import java.awt.*;
//导入swing包,awt包

public class Demo extends JFrame{
//定义一个继承了JFrame窗体类的类,使其可以随意调用JFrame类中的方法
    public void MyJFrame(String title){
        //创建一个方法,用于构建窗体
        JFrame jf = new JFrame(title);
        //实例化一个JFrame窗体类对象,括号中为窗体的标题
        jf.setBounds(200, 200, 1000, 100);
        Container container = jf.getContentPane();
        //使用getContentPane()方法,获取该JFrame类对象的容器
        JLabel jLabel = new JLabel("创建了一个父窗体");
        //创建了一个JLabel标签对象,并且添加了内容
        jLabel.setHorizontalAlignment(SwingConstants.CENTER);
        //使标签上的文字居中
        container.add(jLabel);
        //将标签添加到容器中
        container.setBackground(Color.WHITE);
        //设置容器的背景颜色
        jf.setVisible(true);
        //使窗体可见
        jf.setDefaultCloseOperation(EXIT_ON_CLOSE);
        //设置窗体的关闭方式

    }

    public static void main(String[] args) {
        //在主方法中实例化 Demo类中的 MyJFrame方法
        new Demo().MyJFrame("创建了窗体");
    }
}

        输出结果: 

        在该实例中,Demo类继承了JFrame类,在该类创建的MyJFrame方法实例化JFrame对象,这是创建JFrame窗体的常用方法。

        2.实例相关语法

                   (1)setVisible()方法:使运行后,窗体可视化,在桌面生成窗体。(默认为false)

jf.setVisible(true);
//括号中的布尔值为是否显示窗体

                   (2)setBounds()方法:设置窗体的生成位置,窗体大小。

jf.setBounds(200, 300, 1000, 100);
/* 设置窗体对象窗体左上角的生成位置为:
 *    水平方法(x):200像素
 *    竖直方向(y):300像素
 * 设置窗体大小为:
 *    宽(x):1000像素
 *    高(y):100像素
*/

                   (3)setHorizontalAlignment()方法:设置文本的生成位置

jLabel.setHorizontalAlignment(SwingConstants.CENTER);
//SwingConstants.CENTER  swing组件内容居中
//由于是JLabel对象调用,所以标签的内容居中

                   (4)setBackground()方法:设置背景颜色

container.setBackground(Color.WHITE);
//设置了容器的背景颜色为白色,Color对象调用颜色为 白色 WHITE

                   (5)setDefaultCloseOperation()方法:设置关闭方式

jf.setDefaultCloseOperation(EXIT_ON_CLOSE);
//设置窗体对象的关闭方式为 关闭,并停止运行程序
常用的四种关闭方式 解释
DO_NOTHING_ON_CLOSE 若无任何操作,则关闭窗体,不会终止程序
DISPOSE_ON_CLOSE 任何注册监听程序对象后,自动关闭并释放窗体资源,不会终止程序
HIDE_ON_CLOSE 关闭窗体,但不终止程序运行
EXIT_ON_CLOSE 关闭窗体,并且终止程序运行


总结

        以上就是对java语言中Swing程序设计中JFrame窗体的使用的介绍。技术内容可能有所过时,适合在校新生学习,欢迎补充指正,博主会及时进行反馈。

你可能感兴趣的:(java编程学习日志,java,开发语言)