消息弹出框案例:

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 对话框的更多相关文章

  1. JAVA GUI学习 - JOptionPane对话框组件学习

    /** * 对话框 - 学习笔记 * @author Wfei * */ public class JoptionPaneKnow extends JFrame { public JoptionPan ...

  2. java Gui编程 事件监听机制

    1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式:   1. 命令交互方式    图书管理系统 ...

  3. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  4. paip.java gui swt/jface 最佳实践

    paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...

  5. java GUI (课堂笔记)

    关于java GUI Swing组件: JFrame 窗口组件 JLabel 标签 JButton 按钮组件 JTextField 单行文本框 系统控件(JDK自带) 自定义控件(模仿系统控件): 继 ...

  6. Java GUI 桌面应用开发

    前言 虽然现在已经很少项目会涉及GUI技术,但作为一个合格的Java开发工程师,还是得了解才得 本文记录,idea使用JFormDesigner插件进行Java GUI 桌面应用开发 GUI Swin ...

  7. JAVA GUI

    JAVA GUI中的事件处理:   委托事件模型:事件源对象和监听器对象具有绑定关系   一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型   设置容器的布局管 ...

  8. 写在学习Java GUI之前

    Java GUI就是用Java语言开发桌面应用,而Java又有三个Java GUI库,分别为AWT,Swing和SWT/JFace. 现在要学的是Swing库. 后记:开发桌面应用,不止一种技术,现在 ...

  9. JAVA GUI 工具

    Java GUI图形界面开发工具   上大学那会儿比较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也 ...

  10. [置顶] java Gui 键盘监听事件

    简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...

随机推荐

  1. NOIP 2023 三值逻辑

    problem 我们定义 \(\text{T}\) 对应 \(n + 1\),\(\text{U}\) 对应 \(n + 2\),\(\text{F}\) 就是 \(-\text{T}\). 现在我们 ...

  2. Chapter1 p1 Output Image

    由于本文章是对TinyRenderer的模仿,所以并不打算引入外部库. 那么我们第一步需要解决的就是图形输出的问题,毕竟,如果连渲染的结果都看不到,那还叫什么Renderer嘛. 由于不引入外部库,所 ...

  3. Easysearch 压缩功能的显著提升:从 8.7GB 到 1.4GB

    引言 在海量数据的存储和处理中,索引膨胀率是一个不可忽视的关键指标.它直接影响了存储成本和查询性能.近期,Easysearch 在这方面取得了显著的进展,其压缩功能的效果远超过了之前的版本.本文将详细 ...

  4. Charles抓不到包常见原因排查

    Charles抓不到包常见原因排查 1.1.1配置代理端口 1.wifi设置代理 2.Charles客户端安装证书 3.Charles 配置抓取域名或IP 4.配置域名 Focus 重点

  5. Lecture4

    Smiling & Weeping ---- 行于山水之间 权且停留 无所谓风起叶落,浮光敛形 此刻   身即自由 第四章 Git 工具 Author: Martin 本章主要介绍 Git 常 ...

  6. 行为型模式(Behavioer Pattern)

    行为型设计模式 行为型模式定义了系统中对象之间的交互与通信,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责,包括对系统中较为复杂的流程的控制. 在软件系统运行时对象并不是孤立存在的,它 ...

  7. zRAM内存压缩技术原理与应用

    zRAM内存压缩技术原理与应用 作者: 发布于:2020-3-8 8:38 分类:内存管理 http://www.wowotech.net/memory_management/458.html/com ...

  8. 【VMware vSAN】vSAN Data Protection Part 2:配置管理。

    上篇文章"vSAN Data Protection Part 1:安装部署."介绍了如何安装及部署 VMware Snapshot Service Appliance 设备,并在 ...

  9. Qt--共享内存监听工具

    共享内存概述 共享内存的特点: 1)共享内存是进程共享数据的一种最快的方法. 一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容. 2)使用共享内存要注意的是多个进程 ...

  10. Vue 怎么用 vm.$set() 解决对象新增属性不能响应的问题 ?

    受现代 JavaScript 的限制 ,Vue 无法检测到对象属性的添加或删除.由于 Vue 会在初始化实例时对属性执行 getter/setter 转化,所以属性必须在 data 对象上存在才能让 ...