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 也没办法提供开发人员所需要的每一个库. 虽然 ...
随机推荐
- The working copy xxxx needs to be upgraded to Subversion 1.7.
原因是我在svn是低版本时候checkout的项目 而对方用的版本比我高 然后 我运行这个项目 就要求我 更新 如果我选择 对项目进行upgrade. 当 upgrade后 我的项目就在 现有 ...
- 关于泥水佬的minihttp与MVC4的对比
相同的功能: 在Action里面实现调用Redis服务端的时间戳,然后转成“yyyy-MM-dd HH:mm:ss”格式的字符串,显示在界面上,显示结果是一样的: 下面分别贴上用ab压的结果: 先是M ...
- org/springframework/core/MethodClassKey
解决下面报错的办法: 把pom.xml中下面两个dependency的version去掉. <dependency> <groupId>org.springframework& ...
- Shared and Exclusive Locks 共享和排它锁
14.5 InnoDB Locking and Transaction Model InnoDB 锁和事务模型 14.5.1 InnoDB Locking 14.5.2 InnoDB Transact ...
- linux中的cd ..和cd -命令有什么区别?
cd ..是返回上一层目录, cd -是返回到上一次的工作目录,如果当前目录是/执行cd /usr/local再执行cd ..就是到 /usr而执行cd -就是到/
- C#之VS2010开发Web Service
一:创建web service vs2010软件默认的framework是4.0版本,所以想创建web服务的时候压根看不到web服务应用程序.网上有人说vs2010的web service 跟wcf合 ...
- Java与.net的区别delegate和event
There is no delegate concept in Java The right-side C# program may be mimiced with reflection techno ...
- Linux动态库的编译与使用
转载: http://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html Linux下的动态库以.so为后缀,我也是初次在Li ...
- ssh端口映射,本地转发
应用场景: # HOSTA<-X->HOSTB 表示A,B两机器相互不可以访问, HOSTA<-->HOSTB 表示A,B两机器可以相互访问# 1.localhost< ...
- jvm之内存分配与回收策略
1.java堆中各代分布 (1)Young:主要是用来存放新生的对象. (2)Old:主要存放应用程序中生命周期长的内存对象. (3)Permanent:是指内存的永久保存区域,主要存放Class和M ...