java弹窗代码_JAVA的弹窗怎么做?
展开全部
JAVA弹窗,有下面常见的2种方法实现:通过JDialog(模式32313133353236313431303231363533e4b893e5b19e31333363376562窗口) 类来实现.里面的写法类似JFrame
重点方法提示: setModal(true);
//当设置为true表示,如果不关闭这个弹窗,那么主界面的其他组件都无法操作,该弹窗置于其他窗口的前面
//当设置为false表示,可以绕开本弹窗,对主界面的其他组件进行操作
优点: 功能强大, 扩展性强
缺点: 代码量大.
示例图
通过JOptionPane(提示框) 来实现
效果图如下
优点: 代码量少,简单,方便, 普通场景已经够用
缺点: 扩展性不够, 复杂逻辑难以实现.
下面写一个具体案例
场景:当用于对文本域的文字,进行操作后,那么退出时,提示用户, 是否要保存已经更改后的内容. 如果用户没有修改内容,那么不用提示
重点代码
addDocumentListener-->用于实现对文本内容发生改变时进行响应
addWindowListener--->用于实现对窗口进行操作时进行响应
完整代码如下import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JDDemo extends JFrame implements DocumentListener,WindowListener{
JTextArea jta;
boolean flag;
public JDDemo() {
jta = new JTextArea();//文本域
jta.setText("床前明月光");//文本域的文字-->可以通过IO加载txt文档的文字
jta.setFont(new Font("宋体",Font.BOLD, 20));//文本域的字体
jta.setLineWrap(true);//设置自动换行
jta.getDocument().addDocumentListener(this);//添加文档变化事件的响应.比如修改,删除等
JScrollPane jsp = new JScrollPane(jta);//滚动面板(当文字太多时,显示滚动条)
add(jsp);
setTitle("主窗口");//标题
setSize(300, 260);//大小
setLocationRelativeTo(null);//居中
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//点击窗口的关闭按钮时,执行windowClosing的代码
addWindowListener(this);
setVisible(true);//窗口可见
}
public static void main(String[] args) {
new JDDemo();
}
//实现WindowListener接口,需要重写下面的6个方法, windowClosing专门处理关闭时的方法
public void windowOpened(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
if(flag){
int n = JOptionPane.showConfirmDialog(null, "已经更改了内容,需要保存后再退出吗?", "提示",JOptionPane.YES_NO_OPTION);
//n等于-1表示关闭了弹出的对话框等情况的默认值
//n等于0(JOptionPane.YES_OPTION)表示选择了Yes
//n等于1(JOptionPane.NO_OPTION)表示选择了No
if(n==JOptionPane.YES_OPTION){
//把文字保存到文件的代码省略...
System.out.println("正在使用IO进行保存..ing");
closeFrame();//关闭窗口并退出
}else if(n==JOptionPane.NO_OPTION){
System.out.println("放弃保存修改.马上退出");
closeFrame();
}
}else{
closeFrame();
}
}
public void windowClosed(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
//文档事件,有下面三个,如果触发其中一个,都可以认为修改了文档,所以需要在退出时进行提示,是否保存
public void insertUpdate(DocumentEvent e) {//插入
flag=true;
}
public void removeUpdate(DocumentEvent e) {//删除
flag=true;
}
public void changedUpdate(DocumentEvent e) {//改变
flag=true;
}
//关闭窗口的方法
public void closeFrame(){
this.setVisible(false);//窗口不可见
this.dispose();//窗口销毁
System.exit(0);//JVM虚拟机退出
}
}
运行效果图:
java弹窗代码_JAVA的弹窗怎么做?相关推荐
- java helloworld代码_java学习应用篇|逃不掉的HelloWorld
本文知识点 1.表白不是发起进攻的冲锋号,而是吹响胜利的号角 2.除了爱情不讲道理,公理也不讲道理 3.这世界,离了javac,也是可以运行的! 4.Hello,寺水 写程序并不是写代码 看前面啰啰嗦 ...
- java 编写代码_Java 7:如何编写非常快速的Java代码
java 编写代码 当我第一次写此博客时,我的目的是向您介绍ThreadLocalRandom类,它是Java 7中新增的用于生成随机数的类. 我在一系列微基准测试中分析了ThreadLocalRan ...
- java游戏代码_Java与Kotlin系列文章之性能问题详解
作者丨Jakub Anioła 译者丨姜雨生 策划丨田晓旭 随着对 Kotlin 越来越深入的了解,我发现市面上关于 Kotlin 方面,比较深入的资料几乎是 0,所以我决定,将 Kotlin 各个方 ...
- java 定时器代码_Java定时器代码的编写
Java定时器代码的编写 在某些时候, 我们需要实现这样的`功能,某一程序隔一段时间执行一次,而这一事情由系统本身来完成,并不是人为的触发,我们一般可称此为定时器任务.其实到Java中,实现起来是非常 ...
- java四则运算代码_Java实现简单四则运算
GitHub 项目地址 PSP PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 10 · Estima ...
- java 文件下载代码_java文件下载代码实例(单文件下载和多文件打包下载)
这篇文章主要介绍了java文件下载代码实例(单文件下载和多文件打包下载),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近项目有需要写文件下载相关 ...
- java日历代码_JAVA日历代码,怎么做?
展开全部 import java.util.Date; import java.util.Calendar; import java.text.DateFormat; import java.text ...
- java 闹钟代码_JAVA可视化闹钟源码
1 packageClock;2 3 importsun.audio.AudioPlayer;4 importsun.audio.AudioStream;5 6 import javax.swing. ...
- java 股票 代码_Java中利用散列表实现股票行情的查询_java
---- 在java中,提供了一个散列表类Hashtable,利用该类,我们可以按照特定的方式来存储数据,从而达到快速检索的目的.本文以查询股票的收盘数据为例,详细地说明java中散列表的使用方法. ...
- python可以测试java的代码吗_使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹...
使用Jython对Java做单元测试,当然,为了测试开发java代码.这涉及到引入第三包的问题,如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/artic ...
最新文章
- CvMat,Mat和IplImage之间的转化和拷贝
- 德约科维奇横扫纳达尔夺冠 加冕澳网七冠王
- 水域大小 Java_水域大小
- Pycharm 社区版本Database Navigator 安装教程
- MYSQL: DML/DDL/DCL
- POJ 1724 ROADS(bfs最短路)
- html数字增加动态效果,jQuery实现数字自动增加或者减少的动画效果示例_泠吢_前端开发者...
- 在Windows 7中打开Telent客户端服务
- 马斯克自曝特斯拉渣产能原因:我错了,过分信任自动化机器人
- 深度学习自学(三十二):半监督焦点人物检测
- w10系统服务器管理器,Win10如何打开服务管理器
- 实验三 循环程序设计
- Python 离散小波变换(DWT) pywt库
- 转一篇Java基础的文章,比较有深度的,就转来收藏了
- Java 扫描微信公众号二维码,关注并自动登录网站
- [转]Linux面试题(2020最新版)
- 你不知道的 React 最佳实践
- Windows10安装Markdown安装教程(超级详细)
- 2021年11月逆向练习
- Oracle 11.2.0.3 ORA-12012 ORA-29280 ORA-06512 错误 解决方法
热门文章
- 关于MFC窗口隐藏的方法
- 查看360极速浏览器保存的密码方法步骤
- 风险预测模型_5分+整合多中心临床样本构建5分子胰腺癌预后模型
- 17AHU排位赛2 A题(最小生成树、LCA维护树上路径)
- oracle数据库查询,sql没问题,数据库也有数据,方法没错,项目运行就是查不出数据
- 计算机和机械类哪个工资高,机械工程师和软件工程师哪个工资高前景好?
- 2020全球C++及系统软件技术大会议程
- html压缩工具中文,HTML Compress(html压缩工具)
- 给自己的心灵一把独到的标尺
- 推荐一款非常实用的VR手势插件VRBasics