swing快速入门(十四)

注释很详细,直接上代码

上一篇

新增内容

对话框内添加控件

java 复制代码
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

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

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

        //创建一个垂直的Box容器,放入一个文本框和一个按钮
        Box vBox =Box.createVerticalBox();
        vBox.add(new TextField("请输入内容:"));
        vBox.add(new Button("确定"));

        //将Box容器添加到模式对话框中
        dialogMode.add(vBox);

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

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

        //按钮点击事件
        buttonMode.addActionListener(e -> {
            dialogMode.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);
            }
        });


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

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

运行效果:

下一篇

相关推荐
不会代码的小猴3 分钟前
C++的第十四天笔记
java·开发语言
Heavydrink6 分钟前
Java项目部署云服务器详细教程
java·服务器·开发语言
milanyangbo7 分钟前
深入解析 Disruptor:从RingBuffer到缓存行填充的底层魔法
java·数据库·后端·架构
yaoxin5211237 分钟前
266. Java 集合 - ArrayList vs LinkedList 内存使用深度剖析
java·开发语言
没有bug.的程序员14 分钟前
云原生 + JIT:冷启动与预热优化
java·jvm·云原生·日志·gc·jit
risc12345619 分钟前
【备忘录】java.lang.Throwable#addSuppressed这个是干嘛的?
java·开发语言
__万波__20 分钟前
二十三种设计模式(十)--外观模式
java·设计模式·外观模式
Geoking.21 分钟前
深度理解 Java 中的 switch —— 从基础到进阶的完整指南
java
今天你TLE了吗22 分钟前
Java:基于注解实现去重表消息防止重复消费
java·spring boot·分布式·spring cloud·幂等
没有bug.的程序员23 分钟前
大规模微服务下的 JVM 调优实战指南
java·jvm·spring·wpf·延迟