消息对话框

public static void showMessageDialog(Component parentComponent,String message,String title,int messageType)

parentComponent为null,就会在正前面显示,为this就会在该组件中间显示。

message为对话信息

title为对话框题目

messageType为一个顺带的图标,为JOptionPane的常量

INFORMATON_MESSAGE小感叹号

WARNING_MESSAGE警告

ERROR_MESSAGE交叉

QUESTION_MESSAGE问号

PLAIN_MESSAGE  没有

测试代码(输入不是字母会弹出警告信息

        String regex="\\p{Alpha}+";
if(text1.getText().matches(regex)){
textArea1.append(text1.getText()+"\n");
text1.setText(null);
}else{
JOptionPane.showMessageDialog(this, "error","huang",JOptionPane.PLAIN_MESSAGE);
}

输入对话框

public static String showInputDialog(Component parentComponent,objext message,String title,int messageType)

除了返回类型

和上面一样,不重复了

一小段测试代码(输入框里面输入一串数字算总数

        double sum=0;
String a=JOptionPane.showInputDialog(this,"input number split by space","",JOptionPane.PLAIN_MESSAGE);
if(a!=null){
Scanner scanner1=new Scanner(a);
for(;scanner1.hasNext();){
try{
double number=scanner1.nextDouble();
textArea1.append(number+"+");
sum+=number;
}
catch(Exception e2){
String t=scanner1.next();//不理他跳下一个
}
}
}
textArea1.append("="+ sum+"\n");

选择对话框

public static int showConfirmDialog(Component parentComponent,Objext message,String title,int optionType)

这次返回的是int ,后面的optionType也有点不一样

记住个JOptionPane.YES_OPTION


自定义对话框

其实对话框一直有分有模式和没有模式的,之前一直忘记了

模式对话框就是不处理它就没法处理父窗口,而非模式对话框就是不用先处理此对话框也可以处理父窗口.

自定义的对话框要继承JDialog

还要像窗口那样

setBounds,setVisible,setDefaultCloseOperation

测试代码(用对话框改窗口的名字

class MyWin extends JFrame implements ActionListener{
JTextField text1;
JButton button1,button2;
JTextArea textArea1;
JLabel label1;
MyDialog dialog1;
MyWin(){
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
setLayout(new FlowLayout());
button1=new JButton("go");
add(button1);
button1.addActionListener(this);
dialog1=new MyDialog(this,"is me");
dialog1.setModal(true);//改为由模式的对话框 }
public void actionPerformed(ActionEvent e){
dialog1.setVisible(true);
String s=dialog1.s;
setTitle(s);
}
} class MyDialog extends JDialog implements ActionListener{
JTextField text1;
String s;
MyDialog(JFrame f,String s){
super(f,s);
setLayout(new FlowLayout());
text1=new JTextField(8);
text1.addActionListener(this);
add(new JLabel("input window title"));
add(text1);
setBounds(60,60,200,180);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }
public void actionPerformed(ActionEvent e){
s=text1.getText();
setVisible(false);
}
}

GUI对话框的更多相关文章

  1. MATLAB GUI对话框设计(转载)

    原文地址:http://blog.csdn.net/shuziluoji1988/article/details/8532982 1.公共对话框: 公共对话框是利用windows资源的对话框,包括文件 ...

  2. MATLAB GUI对话框设计

    原文地址:http://blog.csdn.net/shuziluoji1988/article/details/8532982 1.公共对话框: 公共对话框是利用windows资源的对话框,包括文件 ...

  3. Java探索之旅(2)——GUI输入输出与代码的规范性

    1.知识点概叙 ① 定名常量:关键字final,类似C++ const定义,一般用大写:final double PI=3.1415926 ② 5/2=2:5.0/2=2.5://通常意义的除法,至少 ...

  4. 关于matlab GUI 的一些总结

    最近在 用matlab做一个GUI的用户界面 大多都是百度出来 摸索的学习 总结一下遇到的一些问题和解决方法 一: 在文本框动态显示文本 (保留之前的文本并显示当前文本内容): 在文本框显示文本 基本 ...

  5. Nuget 命令 NuGet 管理项目库

    因为可视化库程序包管理器的局限性,有很多需要的功能在界面中无法完成. 以下技巧均需要在"程序包管理器控制台"中使用命令来完成. 一.改变项目目标框架后,更新程序包 当改变项目的目标 ...

  6. NUGet的诞生与使用

    本文引用地址:http://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx NuGet 使用 NuGet 管理项目库 Phil Haack 无论多么努力 ...

  7. VIM7.3中文手册

    INDEX *index.txt*     For Vim version 7.3.  最近更新: 2010年7月 VIM 参考手册    by Bram Moolenaar 译者: Willis h ...

  8. vimrc语法

    前言 工欲善其事,必先利其器.一个programmer必然要先有一个好的editor.vim就是一个十分强大的编辑器.它的强大之处,在于其个性化和可定制.学习vim,就像学习Linux,学习perl, ...

  9. 【转】使用 NuGet 管理项目库-Phil Haack

    原文地址:https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx 无论多么努力,Microsoft 也没办法提供开发人员所需要的每一个库. 虽然 ...

随机推荐

  1. ISO14443标准详细介绍

    这篇文章从各方面详细介绍了ISO/IEC14443标准.第一部分:物理特性1.范围ISO/IEC14443的这一部分规定了邻近卡(PICC)的物理特性.它应用于在耦合设备附近操作的ID-1型识别卡.I ...

  2. org/springframework/core/MethodClassKey

    解决下面报错的办法: 把pom.xml中下面两个dependency的version去掉. <dependency> <groupId>org.springframework& ...

  3. CentOS 7 ARM 版发布:支持树莓派2/香蕉派/CubieTruck

    CentOS 7 ARM 版发布:支持树莓派2/香蕉派/CubieTruck 来自CentOS团队的Karanbir Singh很高兴地宣布,面向ARM硬件架构的CentOS 7 Linux已经正式发 ...

  4. 【转】(DT系列四)驱动加载中, 如何取得device tree中的属性

    原文网址:http://www.cnblogs.com/biglucky/p/4057488.html 本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属 ...

  5. 什么是C#,.NET,ASP.NET?

    C#,.NET,ASP.NET这三个词,对于大家并不陌生,最近花了点时间去了解了下.最终才发现我以前的理解有些偏差.现在分享给大家. 什么是C#?      C#是微软公司发布的一种面向对象的.运行于 ...

  6. HDOJ(HDU) 2060 Snooker(英语很重要。。。)

    Problem Description background: Philip likes to play the QQ game of Snooker when he wants a relax, t ...

  7. Java Socket 编程指南

    Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...

  8. Linq to Sql语法及实例大全

    LINQ to SQL语句(1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的 ,而判断条件就是它后面所接的 ...

  9. vbs自学备份

    最小化所有窗口: Set obj = CreateObject("Shell.Application")obj.MinimizeAll 最小化某窗口: Const strTitle ...

  10. CHANGE NOTEPAD DEFAULT CODE TO UTF-8

    Windows记事本新建文本文档编码默认为ANSI 修改步骤: 新建一个文本文档,不输入任何内容,然后"另存为",将编码由默认的ANSI修改为UTF-8,并将新文档命名为templ ...