swing快速入门(十三)

2023-12-16 13:26:56

注释很详细,直接上代码

上一篇

新增内容

1.Dialog(模式对话框和非模式对话框)

模式对话框:在对话框没有消失之前无法操作父窗口
非模式对话框:对话框的出现不会影响对父窗口的操作

2.setButton(对话框设置初始位置与大小属性)

3.对话框关闭的事件响应

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class swing_test_10 {
    public static void main(String[] args) {
        Frame fame = new Frame("测试对话框");

        //创建两个对话框,一个模式的,一个非模式的
        Dialog dialogMode = new Dialog(fame, "模式对话框", true);//模式对话框
        Dialog dialogNoMode = new Dialog(fame, "非模式对话框", false);//非模式对话框

        //通过setButton()方法设置位置以及大小
        dialogMode.setBounds(200, 200, 200, 200);
        dialogNoMode.setBounds(200, 200, 200, 200);

        //创建两个按钮
        Button buttonMode = new Button("打开模式对话框");
        Button buttonNoMode = new Button("打开非模式对话框");

        //按钮点击事件
        buttonMode.addActionListener(e -> {
            dialogMode.setVisible(true);
        });//打开模式对话框

        buttonNoMode.addActionListener(e -> {
            dialogNoMode.setVisible(true);
        });//打开非模式对话框

        //窗口关闭响应
        fame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                fame.setVisible(false);
            }
        });

        //模式对话框关闭响应
        dialogMode.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                dialogMode.setVisible(false);
            }
        });

        //非模式对话框关闭响应

        dialogNoMode.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                dialogNoMode.setVisible(false);
            }
        });

        //将按钮添加到frame中
        fame.add(buttonMode, BorderLayout.NORTH);
        fame.add(buttonNoMode, BorderLayout.CENTER);

        //自适应并显示
        fame.pack();
        fame.setVisible(true);
    }
}

运行效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

文章来源:https://blog.csdn.net/m0_73756108/article/details/135001523
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。