当前位置: 首页 > news >正文

Swing程序设计(3)JDialog窗体

文章目录

  • 前言
  • 一、JDialog窗体的介绍
  • 二、JDialog窗体的使用
    • 1.JDialog的常用构造方法
    • 2.实例展示及分析
  • 总结

前言

        JDialog窗体是窗体中的另一种类型的窗体,指对话框窗体。与JFrame窗体类似,绝大部分对于JFrame窗体使用的方法,对于JDialog窗体也同样适用。


一、JDialog窗体的介绍

        JDialog窗体是Swing组件中的对话框组件,继承了AWT组件中的java.awt.Dialog类。JDialog窗体实质上就是另一种类型的窗体。在使用的同时也需要调用 getContentPane() 方法将窗体转换为容器,然后在容器中设置窗体的特性。

二、JDialog窗体的使用

1.JDialog的常用构造方法

        JDialog类的几种常用的构造方法(方法名是可变的):

                (1)public 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 modle):创建了一个指定了父窗体,父窗体标题和对话框模式的对话框。

                实例展示(展示的是最全的第五个,以上方法使用方式一致,引用参数不同):

import javax.swing.*;
import java.awt.*;public class JDialogDemo2{public JDialogDemo2(Frame f, String title, boolean modle) {//创建一个新的特定的对话框窗体,可指定了窗体对象,标题,和模式JDialog dialog = new JDialog(f, title, modle);//设定对话框窗体的大小dialog.setSize(300, 200);//设定对话框窗体的关闭方式dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//设定该窗体可见dialog.setVisible(true);}public static void main(String[] args) {//创建一个JFrame对象,在实例化JDialogDemo2对象时调用。JFrame frame = new JFrame("Main Frame");frame.setSize(400, 300);//创建一个JDialogDemo2的对象,直接调用JDialogDemo2的构造方法,定义了窗体对象,标题,和模式JDialogDemo2 dialogDemo = new JDialogDemo2(frame, "Dialog Title", true);}}

                 相关解释:

                        1.创建一个JDialogDemo2的构造方法,其中括号中的内容:第一个值为创建的JFrame对象,第二个值为对话框窗体的标题,第三个为对话框窗体的模式(该参数为布尔值,确定是否为模态)。

注:模态对话框是一种特殊类型的窗口,它阻止用户与应用程序中的其他窗口进行交互,直到该对话框被关闭。这意味着在模态对话框打开期间,用户无法将焦点切换到其他窗口或执行其他操作。只有当模态对话框关闭后,用户才能继续与应用程序进行交互。

                        2.setSize()方法:设置组件的高。

setSize(250,100);
//宽250像素,高100像素

                        结果展示: 

         

                        3.创建一个main静态方法:

                                (1)创建一个JFrame对象,方便在实例化JDialogDemo2有使用的JFrame对象使用。

                                (2)创建一个JDialogDemo2的对象,直接调用JDialogDemo2的构造方法,定义了窗体对象,标题,和模式。                                      

2.实例展示及分析

        (1)实例介绍:窗体有按钮可以弹出对话框,并且不处理该对话框,无法进行其他操作。

        (2)代码展示: 

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class JDialogDemo extends JDialog{public JDialogDemo(JFrame frame){/** 第一个参数,父窗体对象* 第二个参数,对话框标题* 弟三个参数,是否阻塞父窗体*/super(frame, "对话框标题", true);//对话框阻塞父窗体Container c = getContentPane();c.add(new JLabel("这是一个对话框"));setBounds(100, 100, 100, 100);  //设置窗体坐标和大小}public static void main(String[] args) {JFrame frame = new JFrame("父窗体");frame.setBounds(50, 50, 300, 300);Container c = frame.getContentPane();JButton btn = new JButton("弹出对话框");c.setLayout(new FlowLayout());  //设置布局,使用流布局c.add(btn);frame.setVisible(true);frame.setDefaultCloseOperation(EXIT_ON_CLOSE);btn.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e){JDialogDemo d = new JDialogDemo(frame);d.setVisible(true);//对话框窗体可见,最好在静态方法中使用(涉及到java语言的底层逻辑)}});//添加动作监听}
}

        (3)补充解释:

                super关键字调用:调用了JDialog类的构造方法,即 public JDialog(Frame f,String title,boolean modle)

                流布局:流布局(Flow Layout)是一种在图形用户界面(GUI)中常用的布局管理器。它按照组件的添加顺序,从左到右依次排列,并在水平方向上自动换行。        

运行结果:

                                                    

             点击按钮 

                                 

              由于设置为模态对话框,关闭对话框后,才能对父窗体进行操作。


总结

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

相关文章:

Swing程序设计(3)JDialog窗体

文章目录 前言一、JDialog窗体的介绍二、JDialog窗体的使用 1.JDialog的常用构造方法2.实例展示及分析总结 前言 JDialog窗体是窗体中的另一种类型的窗体,指对话框窗体。与JFrame窗体类似,绝大部分对于JFrame窗体使用的方法,对于JDialog窗体也…...

类和对象(1)

文章目录 1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符和封装4.1访问限定符4.2封装 5.类的作用域6.类的实例化6.2结构体内存对齐规则 7.this指针7.2this指针的特性 封装(补充) 1.面向过程和面向对象初步认识 C面向对象但不纯面向…...

学会用命令行创建uni-app项目并用vscode开放项目

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 创建 uni-app 项目 命令行创建 uni-app 项目 编译和运行 uni-app 项目: 用 VS Code 开发 uni…...

java.lang.ClassCastException: android.os.BinderProxy cannot be cast to ...

项目开发遇到下面这个报错了! 问题原因 直接说原因,就是因为进程间不能直接传递对象,应该传递该Binder对象的映射(代理对象),所以类型转换就出错了。如果在同一个进程中,直接传递对象没有关系&a…...

AIGC(生成式AI)试用 3 -- 专业主题

何为专业? 主要研究某种学业或从事某种事业 我的理解可能是在某个方向、某个行业,专业的更靠谱、说了更算、表达的更晰,结果更有说服力 本次提问:你我的专业 生成式AI知道你我的专业吗?生成式AI如何诠释你…...

rsyslog-日志管理 logrotate-日志轮转

日志的管理的方式,以及怎么自己写一个管理日志的小脚本,其实也不能算脚本 管理日志的进程 rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron… httpd/nginx/mysql: …...

类和对象续

目录 包 自定义包 包的访问权限控制 常见的包 Static成员 静态成员变量 静态成员方法 代码块 构造块 静态块 重写 继承 继承是啥? 父类成员访问 子类中访问父类成员变量 两者不同名 两者同名 子类中访问父类对的成员方法 super 子类构造方法 …...

SpringCloud:Feign实现微服务之间相互请求

文章目录 🎉欢迎来到Java学习路线专栏~SpringCloud:Feign实现微服务之间相互请求 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系列文章专栏:Java学习路线📜其他专栏&#xf…...

LeetCode 1359. Count All Valid Pickup and Delivery Options【动态规划,组合数学】1722

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...

[杂谈]-从硬件角度理解二进制数

从硬件角度理解二进制数 文章目录 从硬件角度理解二进制数1、概述2、模拟电路3、数字电路4、逻辑电平5、TTL 器件的电压水平6、总结 1、概述 二进制数以 2 为基数系统表示,该系统只有两 (2) 个不同的数值,即 0 和 1。就像最常见的那样,十进制…...

Fast-DDS 服务发现简要概述

阅读本文章需要对DDS基础概念有一些了解,一些内容来自Fast-DDS官方文档,一些是工作中踩过的坑。 1. 服务发现阶段 满足OMG标准的DDS服务发现分为两部分,分别是: PDP(Participant Discovery Protocol 参与者发现协议):参与者确认…...

基于spingboot的websocket订阅、广播、多人聊天室示例

概述 基于spingboot的websocket多人聊天系统。包括订阅,广播、点对点单人聊天,多人聊天室功能。 详细 一、运行效果 简单示例 广播 单人聊天 多人聊天室 二、相关代码 websocket配置 package com.iamgpj.demowebsocket.config;import com.iamgpj.d…...

Linux mac Windows三系统 局域网文件共享方法

主要工具: Samba是一个开源的软件套件,允许Linux系统与Windows系统之间共享文件和打印机。 一、首先是Linux共享的设置 ①安装 sudo apt-get install samba ②创建共享文件夹 sudo mkdir /home/share ③配置用户 sudo smbpasswd -a kequan ④修改…...

Java——比较器

引入的背景 我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,直接使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。那么,如何解决这个问题呢? 在Java中经常会涉…...

【数据结构】初识泛型

文章目录 一般的类和方法,只能使用具体的类型: 要么是基本类型,要么是自定义的类。这种限制对代码的束缚就会很大。所以我们引入了泛型。泛型,泛顾名思义就是广泛的意思。就是适用于许多许多类型。从代码上讲,就是对类型实现了参数…...

代码随想录--哈希--有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出: true 示例 2: 输入: s "rat", t "car" 输出: false 说明: 你可以假设字符串只包含小写字母。…...

MySQL——数据的增删改

2023.9.12 本章开始学习DML (数据操纵语言) 语言。相关学习笔记如下: #DML语言 /* 数据操作语言: 插入:insert 修改:update 删除:delete */#一、插入语句 #方式一:经典的插入 /* 语法: insert …...

云服务器与http服务器

如何与http服务器建立连接(客户端)? http请求设计格式: 例子: 发送http请求 http数据响应格式: 接收http服务器返回的数据需要进一步进行字符串处理操作,提取有用的数据。...

golang教程 beego框架笔记一

安装beego 安装bee工具 beego文档 # windos 推荐使用 go install github.com/beego/bee/v2master go get -u github.com/beego/bee/v2masterwindows使用安装bee工具时碰到的问题; 环境配置都没有问题,但是执行官网的命令:go get -u github…...

【深度学习】Mini-Batch梯度下降法

Mini-Batch梯度下降法 在开始Mini-Batch算法开始之前,请确保你已经掌握梯度下降的最优化算法。 在训练神经网络时,使用向量化是加速训练速度的一个重要手段,它可以避免使用显式的for循环,并且调用经过大量优化的矩阵计算函数库。…...

AI项目六:WEB端部署YOLOv5

若该文为原创文章,转载请注明原文出处。 一、介绍 最近接触网页大屏,所以就想把YOLOV5部署到WEB端,通过了解,知道了两个方法: 1、基于Flask部署YOLOv5目标检测模型。 2、基于Streamlit部署YOLOv5目标检测。 代码在…...

敲代码常用快捷键

1、代码拖动 PyCharm:按住 shiftalt鼠标选中某一区域来拖动,即可实现拖动这一区域至指定区域。Visual Studio Code (VSCode): - Windows/Linux:Alt 鼠标左键拖动 - MacOS:Option 鼠标左键拖动 IntelliJ IDEA: - Win…...

MyBatis: 分页插件PageHelper直接传递分页参数的用法

一、加分页插件依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.13</version></dependency>二、配置分页插件&#xff0c;并配置相关属性&a…...

Python基于Flask的高校舆情分析,舆情监控可视化系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 运行效果图 基于Python的微博大数据舆情分析&#xff0c;舆论情感分析可视化系统 系统介绍 微博舆情分析系…...

Python第一次作业练习

题目分析&#xff1a; """ 参考学校的相关规定。 对于四分制&#xff0c;百分制中的90分及以上可视为绩点中的4分&#xff0c;80 分及以上为3分&#xff0c;70 分以上为2分&#xff0c;60 分以上为1分; 五分制中的5分为四分制中的4分&#xff0c;4分为3分&#…...

InstallShield打包升级时不覆盖原有文件的解决方案

一个.NET Framework的Devexpress UI Windows Form项目&#xff0c;用的InstallShield&#xff0c;前些个版本都好好的&#xff0c;最近几个版本突然就没法更新了&#xff0c;每次更新的时候都覆盖不了原文件&#xff0c;而且这样更新后第一次打开程序&#xff08;虽然是老程序&…...

服务器巡检表-监控指标

1、巡检指标 系统资源K8S集群NginxJAVA应用RabbitMQRedisPostgreSQLElasticsearchELK日志系统 2、巡检项 检查项目 检查指标 检查标准 系统资源 CPU 使用率 正常&#xff1a;&#xff1c;70% 低风险&#xff1a;≥ 70% 中风险&#xff1a;≥ 85% 高风险&#xff1a;≥ 9…...

无涯教程-JavaScript - DDB函数

描述 DDB函数使用双倍余额递减法或您指定的某些其他方法返回指定期间内资产的折旧。 语法 DDB (cost, salvage, life, period, [factor])争论 Argument描述Required/OptionalCostThe initial cost of the asset.RequiredSalvage 折旧结束时的价值(有时称为资产的残值)。 该…...

uniapp打包微信小程序。报错:https://api.weixin.qq.com 不在以下 request 合法域名列表

场景&#xff1a;在进行打包上传测试时&#xff0c;发现登录失效&#xff0c;但在测试中【勾选不效应合法域名】就可以。 出现原因&#xff1a;我在获取到用户code后&#xff0c;直接使用调用官方接口换取openid 解决方案&#xff1a; 可以把code带给后端&#xff0c;让他们返…...

stm32之31.iic

iic双线制。一根是SCL&#xff0c;作为时钟同步线;一根是SDA&#xff0c;作为数据传输线 SDN #include "iic.h"#define SCL PBout(8)#define SDA_W PBout(9) #define SDA_R PBin(9)void IIC_GPIOInit(void) {GPIO_InitTypeDef GPIO_InitStructure;//使能时钟GR…...

变身 变装 wordpress/什么是seo标题优化

当我发送JSON对象数组我的jQuery的AJAX方法能够解析内容和显示数据在ListView的jQuery&#xff0c;但是当我只有一个单一的对象我相同的jquery ajax方法不能解析数据。JQuery的Ajax方法工作与多个JSON对象&#xff0c;但不与单个JSON对象这里我的JSON对象数组&#xff1a;{&quo…...

深圳市网站制作最好的公司/免费的推广引流软件下载

arm-linux笔记3:arm-linux PC文件传输方法总结(4种最常见的方法) 1使用串口终端传输文件 2使用ftp传输文件 3使用nfs传输文件 4使用u盘拷贝 串口的优点是方法简单,不需要过多的配置,不需要联接网络,但是发送数据的速度比较慢,不适用于传输超过10M的文件 ftp的配置的时候需要联…...

2017年网站开发用什么语言/推广电话

原标题&#xff1a;有哪些大学的外号特别搞笑&#xff1f;网友&#xff1a;有些名称真是神了&#xff01;网友一&#xff1a;华南师范大学&#xff0c;又称华南吃饭大学&#xff0c;简称滑湿&#xff0c;别称华南师太&#xff0c;雨季又名华南水上乐园&#xff0c;文青叫华师威…...

wordpress 免费 模板/百度搜索资源平台

String&#xff1a;1.java语言中的字符串值属于String类&#xff0c;虽然有其它方法表示字符串&#xff08;如字符数组&#xff09;&#xff0c;但java一般使用Sting类作为字符串的标准格式&#xff0c;java编译器把字符串值作为String对象。2.String对象一旦创建就不能改变。如…...

百度上海分公司/青岛建站seo公司

C语言学习笔记1)VC6.0学习笔记进入方法&#xff1a;1、建立一个工程文件——新建——(选择)工程——(选择)Win32 Console Application——位置(选择存贮的位置)——工程名称(要用字母、英文、或拼音都可以)——一路确定到完成2、建立一个文件文件——新建——(选择)文件——(选…...

wordpress恢复主题/展示型网站设计公司

昨晚做了某公司的笔试&#xff0c;遇到一道名为“三子棋”的编程题&#xff0c;花了近一个小时的时间去完成了这道题。最后提交时&#xff0c;有部分测试实例没有通过。可是已经没有时间修改了&#xff0c;真是悔啊&#xff01;现在将原题复述如下&#xff1a; 题目描述&#x…...