GUI对话框
消息对话框
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对话框的更多相关文章
- MATLAB GUI对话框设计(转载)
原文地址:http://blog.csdn.net/shuziluoji1988/article/details/8532982 1.公共对话框: 公共对话框是利用windows资源的对话框,包括文件 ...
- MATLAB GUI对话框设计
原文地址:http://blog.csdn.net/shuziluoji1988/article/details/8532982 1.公共对话框: 公共对话框是利用windows资源的对话框,包括文件 ...
- Java探索之旅(2)——GUI输入输出与代码的规范性
1.知识点概叙 ① 定名常量:关键字final,类似C++ const定义,一般用大写:final double PI=3.1415926 ② 5/2=2:5.0/2=2.5://通常意义的除法,至少 ...
- 关于matlab GUI 的一些总结
最近在 用matlab做一个GUI的用户界面 大多都是百度出来 摸索的学习 总结一下遇到的一些问题和解决方法 一: 在文本框动态显示文本 (保留之前的文本并显示当前文本内容): 在文本框显示文本 基本 ...
- Nuget 命令 NuGet 管理项目库
因为可视化库程序包管理器的局限性,有很多需要的功能在界面中无法完成. 以下技巧均需要在"程序包管理器控制台"中使用命令来完成. 一.改变项目目标框架后,更新程序包 当改变项目的目标 ...
- NUGet的诞生与使用
本文引用地址:http://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx NuGet 使用 NuGet 管理项目库 Phil Haack 无论多么努力 ...
- VIM7.3中文手册
INDEX *index.txt* For Vim version 7.3. 最近更新: 2010年7月 VIM 参考手册 by Bram Moolenaar 译者: Willis h ...
- vimrc语法
前言 工欲善其事,必先利其器.一个programmer必然要先有一个好的editor.vim就是一个十分强大的编辑器.它的强大之处,在于其个性化和可定制.学习vim,就像学习Linux,学习perl, ...
- 【转】使用 NuGet 管理项目库-Phil Haack
原文地址:https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx 无论多么努力,Microsoft 也没办法提供开发人员所需要的每一个库. 虽然 ...
随机推荐
- XCode7打包上传报错
在XCode7上传应用时,上传失败遇到两个错误,提示如下: ERROR ITMS-90535: "Unexpected CFBundleExecutable Key. The bundl ...
- springmvc 参数绑定
1. httpservletrequest request request.getParameter("a")方法去取参数 用注解@RequestParam绑定请求参数 用注解@R ...
- jQuery的live绑定事件在mobile safari(iphone / ipad / ipod)上失效的解决方案
jQuery的live绑定为什么会在mobile safari上失效呢?其实可以追溯到jQuery里live的实现方式.live的实现方式实际上是通过事件委托机制来实现的,也就是说是通过诸如冒泡的方式 ...
- POJ3295 Tautology(枚举)
题目链接. 分析: 最多有五个变量,所以枚举所有的真假值,从后向前借助于栈验证是否为永真式. #include <iostream> #include <cstring> #i ...
- -_-#【Angular】定义服务
AngularJS学习笔记 <!DOCTYPE html> <html ng-app="Demo"> <head> <meta chars ...
- POJ Stockbroker Grapevine 1125 多源最短路(Floyd)
题目大意: 股票经纪人要散播股票的谣言,每个人都有人际关系,每个人只信任他相信的人传播的谣言, 其实也就是有向图.问 哪个人能最快的将谣言传播给所有人,并且求出传过去的最短时间. 题目分析: 我们用F ...
- poj 2246 (zoj 1094)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1094 ZOJ Problem Set - 1094 Matrix Chai ...
- 在sql语句中使用plsql变量
示例代码如下: create or replace type ua_id_table is table of number; declare v_tab ua_id_table;begin v_tab ...
- java笔记13之成员变量与局部变量
成员变量和局部变量的区别 1在类中的位置不同 局部变量:类的方法体内 成员变量:类的方法之外 2内存的不同位置 局部变量:在栈内存中 成员位置:在堆内存 3生命周期不同 局部变量:随着方法的调用而存在 ...
- View Controller 生命周期的各个方法的用法
(void)awakeFromNib; 这个方法用的时候,outlet还没有连接起来,是view Controller刚从storyboard建的时候,没有完全建好,不过可能有一些事情要在这个方法里面 ...