【Java-GUI】09 Swing03 对话框
消息弹出框案例:
package cn.dzz.swing; import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent; public class Demo06 { JFrame jFrame = new JFrame("消息弹出框案例");
JTextArea jTextArea = new JTextArea(6, 30);
JButton jButton = new JButton(new AbstractAction("弹出消息框") {
@Override
public void actionPerformed(ActionEvent e) {
// 弹出一个对话框,显示文本域中输入的内容
String text = jTextArea.getText();
JOptionPane.showMessageDialog(
jFrame,
text,
"消息提示",
JOptionPane.INFORMATION_MESSAGE
);
}
}); public void init(){
jFrame.add(jTextArea, BorderLayout.CENTER);
jFrame.add(jButton, BorderLayout.SOUTH); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.pack();
jFrame.setVisible(true);
} public static void main(String[] args) {
new Demo06().init();
}
}

几种消息提示框的选择,不同的消息对应配有不同的图标提示
JOptionPane.INFORMATION_MESSAGE
// JOptionPane.ERROR_MESSAGE
// JOptionPane.WARNING_MESSAGE
// JOptionPane.QUESTION_MESSAGE
// JOptionPane.PLAIN_MESSAGE, 可以再加上 new ImageIcon(String path) 显示图像
确认对话框案例:
package cn.dzz.swing; import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent; public class Demo06 { JFrame jFrame = new JFrame("消息弹出框案例");
JTextArea jTextArea = new JTextArea(6, 30);
JButton jButton = new JButton(new AbstractAction("弹出确认框") {
@Override
public void actionPerformed(ActionEvent e) {
String text = jTextArea.getText();
// JOptionPane.DEFAULT_OPTION
// JOptionPane.YES_NO_OPTION
// JOptionPane.YES_NO_CANCEL_OPTION
int result = JOptionPane.showConfirmDialog(jFrame, text, "确认对话框", JOptionPane.YES_NO_CANCEL_OPTION);
switch (result) {
case JOptionPane.YES_OPTION: // case JOptionPane.OK_OPTION:
jTextArea.append("\n用户选择了YES 和确认的结果一样");
break;
case JOptionPane.NO_OPTION:
jTextArea.append("\n用户选择了NO");
break;
case JOptionPane.CANCEL_OPTION:
jTextArea.append("\n用户选择了 取消");
break;
}
}
}); public void init(){
jFrame.add(jTextArea, BorderLayout.CENTER);
jFrame.add(jButton, BorderLayout.SOUTH); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.pack();
jFrame.setVisible(true);
} public static void main(String[] args) {
new Demo06().init();
}
}

文本输入框案例:
package cn.dzz.swing; import jdk.nashorn.internal.scripts.JO; import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent; public class Demo06 { JFrame jFrame = new JFrame("消息弹出框案例");
JTextArea jTextArea = new JTextArea(6, 30);
JButton jButton = new JButton(new AbstractAction("弹出输入框") {
@Override
public void actionPerformed(ActionEvent e) {
String text = jTextArea.getText();
String input = JOptionPane.showInputDialog(
jFrame,
"请填写你的输入信息",
"输入对话框",
JOptionPane.INFORMATION_MESSAGE
);
jTextArea.append(input + "\n");
}
}); public void init(){
jFrame.add(jTextArea, BorderLayout.CENTER);
jFrame.add(jButton, BorderLayout.SOUTH); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.pack();
jFrame.setVisible(true);
} public static void main(String[] args) {
new Demo06().init();
}
}

选择对话框案例:
package cn.dzz.swing; import jdk.nashorn.internal.scripts.JO; import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent; public class Demo06 { JFrame jFrame = new JFrame("消息弹出框案例");
JTextArea jTextArea = new JTextArea(6, 30);
JButton jButton = new JButton(new AbstractAction("弹出输入框") {
@Override
public void actionPerformed(ActionEvent e) {
String text = jTextArea.getText(); String[] strings = {
"选项1",
"选项2",
"选项3",
}; int result = JOptionPane.showOptionDialog(
jFrame,
"选择提示信息",
"选项对话框",
JOptionPane.DEFAULT_OPTION,
JOptionPane.INFORMATION_MESSAGE,
null,
strings,
"初始选项"
); jTextArea.append(strings[result] + "\n");
}
}); public void init(){
jFrame.add(jTextArea, BorderLayout.CENTER);
jFrame.add(jButton, BorderLayout.SOUTH); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.pack();
jFrame.setVisible(true);
} public static void main(String[] args) {
new Demo06().init();
}
}

【Java-GUI】09 Swing03 对话框的更多相关文章
- JAVA GUI学习 - JOptionPane对话框组件学习
/** * 对话框 - 学习笔记 * @author Wfei * */ public class JoptionPaneKnow extends JFrame { public JoptionPan ...
- java Gui编程 事件监听机制
1. GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式: 1. 命令交互方式 图书管理系统 ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- paip.java gui swt/jface 最佳实践
paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...
- java GUI (课堂笔记)
关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...
- Java GUI 桌面应用开发
前言 虽然现在已经很少项目会涉及GUI技术,但作为一个合格的Java开发工程师,还是得了解才得 本文记录,idea使用JFormDesigner插件进行Java GUI 桌面应用开发 GUI Swin ...
- JAVA GUI
JAVA GUI中的事件处理: 委托事件模型:事件源对象和监听器对象具有绑定关系 一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型 设置容器的布局管 ...
- 写在学习Java GUI之前
Java GUI就是用Java语言开发桌面应用,而Java又有三个Java GUI库,分别为AWT,Swing和SWT/JFace. 现在要学的是Swing库. 后记:开发桌面应用,不止一种技术,现在 ...
- JAVA GUI 工具
Java GUI图形界面开发工具 上大学那会儿比较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也 ...
- [置顶] java Gui 键盘监听事件
简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...
随机推荐
- .NET 8 IApplicationBuilder详解
在上节中我们已经得知 WebApplication 实现了 IApplicationBuilder,我们浅谈了其pipe特质和构建方法,本节中将深入了解 ApplicationBuilder 以窥探 ...
- js数据类型的检查
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- Nodejs内置中间件 第三方中间件 cookie和session
内置中间件 express也提供了好用的内置中间件,如提供一个静态资源管理的中间件,通过此中间件就可以帮助为我们快速搭建一个静态资源服务器 app.use(express.static('托管目录地址 ...
- 设置双击ps1脚本直接用Powershell打开
设置双击ps1脚本直接用Powershell打开. 默认.ps1 文件双击是不能打开的,只能右键运行. 解决方法: 1.按windows+R打开运行,输入regedit,打开注册表 2.找到HKEY_ ...
- C# .NET 操作Windows hosts
C# .NET 操作Windows hosts 工具类HostsUtil: using System; using System.IO; using System.Text; namespace Co ...
- Externalizable接口实现序列化与反序列化
Externalizable接口实现序列化与反序列化 package com.example.core.mydemo.java; import com.example.core.mydemo.json ...
- MinIO 图片转文件的分界线RELEASE.2022-05-26T05-48-41Z
前言:本人想用MinIO存储文件,但是不想最新版本Mete文件,于是各种寻找于是终于找到办法了,原来是官方版本更新导致的.需要我们去寻找相应的版本. 1.官网下载网站 https://dl.min.i ...
- python实现推送消息到微信公众号
使用到库: Requests 实现方式: 微信已开放了对应的接口,直接通过python的requests库,发起请求,实现推送消息到公众号 微信公众号准备: 1.没有注册微信公众号,可以使用微信提供的 ...
- python logging去掉selenium大量的日志
问题 二次封装logging模块,设置级别为DEBUG,默认所有级别的日志都可以收集到:在发起ui自动化,打开浏览器输入网址,进行页面操作时,打印了大量的connectionpool.remote_c ...
- arm 移植 lighttpd + CGI 配置
--- title: arm 移植 lighttpd + CGI 配置 EntryName: porting-lighttpd-on-arm-and-make-cgi-config date: 202 ...