package test001;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JToolBar; public class TestJOptionPane implements ActionListener{
private JFrame jf = new JFrame("标准对话框测试"); /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new TestJOptionPane().createUI(); } public void createUI(){
JToolBar jtb = new JToolBar(); String[] s = {"错误", "退出确认1", "退出确认2", "警告", "输入", "选择"};
int size = s.length;
JButton[] button = new JButton[size];
for(int i = 0; i < size; i++){
button[i] = new JButton(s[i]);
button[i].addActionListener(this);
jtb.add(button[i]); }
jf.add(jtb, "North");
jf.setSize(350, 150);
jf.setLocation(400, 200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
} @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String s = e.getActionCommand();
if(s.equals("错误")){
JOptionPane.showMessageDialog(null, "要显示的错误信息---",
"错误提示",JOptionPane.ERROR_MESSAGE);
}
else if(s.equals("退出确认1")){
int result = JOptionPane.showConfirmDialog(null,
"推出前是否保存程序?");
if(result == JOptionPane.YES_OPTION){
System.out.println("保存程序---");
System.exit(0);
}
else if(result == JOptionPane.NO_OPTION){
System.exit(0);
} }
else if(s.equals("退出确认2")){
int result = JOptionPane.showConfirmDialog(null, "退出前是否保存程序?");
if(result == JOptionPane.YES_OPTION){
System.out.println("保存程序---");
System.exit(0);
}
else if(result == JOptionPane.NO_OPTION){
System.exit(0);
}
}
else if(s.equals("警告")){
Object[] options = {"继续", "撤销"};
int result = JOptionPane.showOptionDialog(null,
"本操作可能导致数据丢失","Warning", JOptionPane.DEFAULT_OPTION,
JOptionPane.WARNING_MESSAGE, null, options, options[0]);
if(result == 0){
System.out.println("继续操作---");
}
}
else if(s.equals("输入")){
String name = JOptionPane.showInputDialog("请输入您的姓名:");
if(name != null){
System.out.println("姓名:" + name);
}
}
else if(s.equals("选择")){
Object[] possibleValues = {"体育", "政治", "经济", "文化"};
Object selectedValue = JOptionPane.showInputDialog(null,
"Choose one","Input", JOptionPane.INFORMATION_MESSAGE, null,
possibleValues, possibleValues[0]);
String choose = (String)selectedValue;
if(choose != null){
System.out.println("你选择的是:"+ choose);
}
} } }

JavaSwing标准对话框的更多相关文章

  1. 如何修改Qt标准对话框的文字(例如,英文改成中文)

    此篇文章参考qtcn论坛整理而成,因为文字和图片是本人亲自组织,所以仍算原创. http://www.qtcn.org/bbs/read-htm-tid-30650.html http://blog. ...

  2. Qt中的标准对话框之QMessageBox

    1. Qt标准对话框 Qt为开发者提供了一些可复用的对话框类型 Qt提供的可复用对话框全部继承自QDialog类 Qt中的对话框的使用方式和QDialog完全一致 2. 标准对话框的使用步骤 ①定义对 ...

  3. PyQt5标准对话框

    很全的Qt的标准对话框,包含QInputDialog.QColorDialog.QFontDialog.QMessageBox.QOpenFileDialog... 全部是由官网的C++版本,转换成P ...

  4. Qt 学习之路 2(15):标准对话框 QMessageBox

    Qt 学习之路 2(15):标准对话框 QMessageBox  豆子  2012年9月18日  Qt 学习之路 2  40条评论 所谓标准对话框,是 Qt 内置的一系列对话框,用于简化开发.事实上, ...

  5. 《转》PyQt4 精彩实例分析* 实例2 标准对话框的使用

    和大多数操作系统一样,Windows及Linux都提供了一系列的标准对话框,如文件选择,字体选择,颜色选择等,这些标准对话框为应用程序提供了一致的观感.Qt对这些标准对话框都定义了相关的类.这些类让使 ...

  6. QT+ 使用标准对话框+关于对话框+问题对话框+文件对话框

    #include "mainwindow.h" #include <QMenuBar> #include <QMenu> #include <QAct ...

  7. 【Qt开发】Qt标准对话框之QMessageBox

    好久没有更新博客,主要是公司里面还在验收一些东西,所以没有及时更新.而且也在写一个基于Qt的画图程序,基本上类似于PS的东西,主要用到的是Qt Graphics View Framework.好了,现 ...

  8. 跟我一起学QT_QT标准对话框_字体选择框

    标准对话框 QT的标准对话框分为以下几种 颜色对话框 文件对话框 字体对话框 输入对话框 消息对话框 进度对话框 错误信息对话框 向导对话框 字体选择框 字体选择框位于 QFontDialog 类中 ...

  9. 跟我一起学QT_QT标准对话框_文件对话框

    标准对话框 QT的标准对话框分为以下几种 颜色对话框 文件对话框 字体对话框 输入对话框 消息对话框 进度对话框 错误信息对话框 向导对话框 文件对话框 QT中的文件对话框QFileDialog类提供 ...

随机推荐

  1. 实时监听 mysql 操作,Linux 版

    效果 场景:某数据库新增了某条记录,服务器可以监听到变化的数据与操作,如 增加一条记录: id = 1009,name=''test,number = 11 服务器监听结果: 实现过程 测试过程:数据 ...

  2. dp求解各种子串子序列

    目录 概念 最长上升子序列 最长连续子串 最长公共子序列 最长公共上升子序列 注:dp可能并不是求解该这些问题的最优算法,这里只是做一个dp 算法的简介. 概念 定义:假设现有一个 string = ...

  3. Trie图(AC自动机)总结

    AC自动机构建完成后,某个节点沿着Fail链向上能从长到短走到自己的所有后缀.一般的,遍历主串进行匹配,就是在Trie图上定向移动的过程. 构造(一遍 BFS) void build_AC() { ; ...

  4. 使用new时,会发生什么?

    使用new来调用函数,或者说发生构造函数调用时,会自动执行下面的操作: 创建(或说构造)一个全新的对象. 这个新对象会被执行[[prototype]]连接. 这个新对象会绑定到函数调用的this. 如 ...

  5. 操作系统OS - 重装Windows7卡在completing installation

    1. shift + f10 2. cd oobe 3. Msoobe

  6. UIScrollView的API

    @property(nonatomic, weak) id<UIScrollViewDelegate> delegate; 滚动视图对象的委托. @property(nonatomic) ...

  7. 执行脚本,且以脚本名保存log

    !/bin/bash path="/sys/devices/platform/soc/fd880000.i2c-pld/i2c-0/i2c-4/i2c-15/15-0060" f_ ...

  8. SSD boot test script for(if)循环

    ;Author : Bing Song ;// ;Usage: modify log drictory according to actual drictory gettime timestr &qu ...

  9. 找出crontab表达式内符合的下一次出发时间点(经典!!!)

    参考: https://blog.csdn.net/crazycoder2010/article/details/7905848

  10. Codeforces Round #588 (Div. 2)C(思维,暴力)

    #define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;int a[27],b[27];int vis ...