首页 > 其他分享 >Swing常用窗体

Swing常用窗体

时间:2022-11-21 14:26:18浏览次数:73  
标签:常用 JFrame container JDialog 窗体 Swing 组件 public

Swing常用窗体


Swing 主要具有以下特点:

( 1 )轻量级组件。

( 2 )可插入外观组件。

窗体作为Swing的应用程序中组件的承载体,处于非常重要的地位。Swing中常用的窗体包括JFrame和JDialog.
swing 常用组件如下:
image

1.JFrame窗体

JFrame 实际上不仅仅让程序员把组件放入其中并呈现给用户。比起它表面上的简单性,它实际上是 Swing 包中最复杂的组件。为了最大程度地简化组件,在独立于操作系统的 Swing 组件与实际运行这些组件的操作系统之间,JFrame 起着桥梁的作用。JFrame 在本机操作系统中是以窗口的形式注册的,这么做之后,就可以得到许多熟悉的操作系统窗口的特性:最小化/最大化、改变大小、移动。

构造方法:

方法 描述
public JFrame() 创建一个初始不可见,无标题的窗体
public JFrame(String title) 创建一个初始不可见, 有标题的窗体

例:

JFrame jf=new JFrame("标题");
Container container = jf.getContainer();

Swing 组件的窗体通常与组件和容器有关,所以在 JFrame 对象创建完成后,需要调用 getContentpane() 方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器。通常,这个容器用来包含和显示组件。如果需要将组件添加至容器,可以使用来自 Container 类的 add() 方法进行设置。
例:

container.add(new JButton("按钮"));

例:

import java.awt.*;
import javax.swing.*;
 
public class Example1 extends JFrame {
    public void CreateJFrame(String title) { 
        JFrame jf = new JFrame(title); 
        Container container = jf.getContentPane(); 
        JLabel jl = new JLabel("这是一个 JFrame 窗体"); 
        jl.setHorizontalAlignment(SwingConstants.CENTER);  
        container.add(jl);      
        container.setBackground(Color.white);
        jf.setVisible(true);       
        jf.setSize(200, 150);        
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);       
    }
 
    public static void main(String[] args) {
        new Example1().CreateJFrame("标题");
    }
}

JFrame 类中的两种构造方法分别为无参的构造方法和有参的构造方法,第一种形式的构造方法可以创建一个厨师不可见。没有标题的新窗体;第二种形式的构造方法再实例化该 JFrame 对象时可以创建一个不可见但具有标题的窗体。可以使用 JFrame 对象调用 show() 方法使窗体可见,但是该方法早已被新版 JDK 所弃用,通常视同 setVisible(true) 方法使窗体可见。同时可以使用 setSize(int x , int y) 方法设置窗体大小,其中 x 与 y 变量分别代表窗体的宽和高。
创建窗体后,需要给予窗体一个关闭方式,可以调用 setDefaultCloseOperation() 方法关闭窗体。Java 为窗体关闭提供了多种方式,常用的有一下 4 中:

    1.DO_NOTHING_ON_CLOSE 。    代表什么都不做就将窗体关闭。

    2.DISPOSE_ON_CLOSE 。    代表任何注册监听程序对象后会自动隐藏并释放窗体。

    3.HIDE_ON_CLOSE 。    代表隐藏窗口的默认默认窗口关闭。

    4.EXIT_ON_CLOSE 。        代表退出应用程序默认窗口关闭

这几种操作实质上是将一个 int 类型的常量封装在 java.swing.WindowConstants 接口中。

JDialog 窗体


JDialog 窗体是 Swing 组件中的对话框,它继承了 AWT 组件中 java.awt.Dialog 类。
JDialog 窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用 IE 浏览器时弹出的确定对话框一样。JDialog 窗体实质上就是另一种类型的窗体,它与 JFrame 窗体类似,在使用时也需要调用 getContentPane() 方法将窗体转换为容器,然后再容器中设置窗体特性。

在应用程序中创建 JDialog 窗体需要实例化 JDialog 类,通常使用以下几个 JDialog 类的构造方法。

1.publi JDialog() :创建一个没有标题和父窗体的对话框 。

2.public JDialog(Frame f) :创建一个指定父窗体的对话框,但该窗体没有标题 。

3.public JDialog(Frame f , boolean model) :创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题 。

4.public JDialog(Frame f ,String title) :创建一个指定标题和父窗体的对话框 。

5.public JDialog(Frame f , String title , boolean model) :创建一个指定标题、窗体和模式的对话框。

例:

import java.awt.*;     
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;       
 
class MyJDialog extends JDialog{        
    public MyJDialog (MyFrame frame) {
        super(frame,"第一个 JDialog 窗体",true); 
        Container container = getContentPane();        
        container.add(new JLabel("这是一个对话框"));        
        setBounds(120, 120, 100, 100);       
    }
}
 
public class MyFrame extends JFrame {       
	
    public static void main(String[] args) {
        new MyFrame();        
    }
	
    public MyFrame() {
        Container container = getContentPane();
        container.setLayout(null);
        JLabel jl = new JLabel("这是一个 JFrame 窗体");
        jl.setHorizontalAlignment(SwingConstants.CENTER);
        container.add(jl);
        JButton jButton = new JButton("弹出对话框");
        jButton.setBounds(10, 10, 100, 21);
        jButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new MyJDialog(MyFrame.this).setVisible(true); 
            }
        });
        container.add(jButton);
        container.setBackground(Color.white);
        setSize(200, 200);
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        setVisible(true);
    }
}

在 MyJDialog 类中,由于它继承了 JDialog 类,所以可以在构造方法中使用 super 关键字调用 JDialog 构造方法。在这里使用了 public JDialog(Frame f , String title , boolean model) 这种形式的构造方法,相应地设置了自定义的 JFrame 窗体以及对话框的标题和窗体类型。JDialog 窗体与 JFrame 窗体形式基本相同,设置在设置窗体的特性时调用的方法名称都基本相同,如设置窗体大小。窗体关闭状态等。




转载于https://www.codeleading.com/article/63722672609/

标签:常用,JFrame,container,JDialog,窗体,Swing,组件,public
From: https://www.cnblogs.com/demc/p/16911263.html

相关文章

  • 常用JS
    1.字符串大小写转换转小写userId.toLowerCase()转大写userId.toUpperCase()2.去花括号([0].id).replace("{","").replace("}","");3.获取窗体状态varfromType=Xrm.Page......
  • Python常用命令最全合集
    文章目录一、Python环境配置命令二、Python常用命令三、pip管理工具命令四、发布包到pypi(官网)命令Mac电脑自带python2.x版本,终端输入python-V//查看当前......
  • Python GDAL/OGR常用样例代码
    目录安装案例矢量转栅格栅格转矢量(多边形)矢量叠加矢量擦除缓冲区分析(以点为例)视域分析安装推荐使用conda安装pythongdal环境,先查询gdal可用版本,再指定版本号,按需安装对......
  • 打开CMD的多种格式以及常用的Dos命令
    打开CMD的多种方式开始+系统+命令提示符Win键+R(推荐使用)任意文件夹按住shift+鼠标右键—》选择在此处打开命令提示符资源管理器前面输入cmd+空格路径管理员......
  • windows常用cmd命令
    1.tasklist:列出所有任务及进程号2.netstat:查看网络连接状态3.tracert(www.baidu.com):被称为Windows路由跟踪,可以用于确定IP数据包访问目标时所选择的路径。4.nslook......
  • centos76网络/端口/防火墙常用命令
    查看防火墙所有开放的端口firewall-cmd--zone=public--list-ports开放/关闭端口firewall-cmd--zone=public--add-port=8888/tcp--permanentfirewall-cmd--r......
  • vue 3.0 常用api 的简介
    vue3.0生命周期写法一和vue2.x一致区别在于(beforeUnmount、unmount)名称不一样写法二在setup中使用,需要引用如:import{onBeforeMount}from‘vue’Setup(){......
  • 常用AI/机器学习模型可解释技术与工具
    【编者按:随着AI模型日益复杂,模型可解释的重要性和挑战日益凸显。通过模型可解释,可以指导特征工程的优化、检测偏差、增强模型使用者对模型的可信度。Anaconda资深数据科学家......
  • 常用 ASP.NET Core 十二个例子
    原文地址:http://piotrgankiewicz.com/2017/04/17/asp-net-core-12-samples/作者:PiotrGankiewicz翻译:杨晓东(Savorboard)前言在今天的博客中,我将介绍十几个可以在A......
  • Python当中的pip常用的一些命令
    安装如果是需要自己另外安装pip包的,在已经配置好Python的环境当中运行下面这个命令行py-mensurepip--upgrade升级要是你觉得自己的pip版本有点低,想要升级一下的话......