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 也没办法提供开发人员所需要的每一个库. 虽然 ...
随机推荐
- Scut:Redis 资源管理器
核心文件是:RedisConnectionPool.cs 对象池类的通用泛型封装:ObjectPoolWithExpire<T> 1. 主要变量 private static ICache ...
- mapreduce (三) MapReduce实现倒排索引(二)
hadoop api http://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/mapreduce/Reducer.html 改变一下需求: ...
- Android自定义ActionBar
Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外ja ...
- Android 仿QQ微信开场导航以及登陆界面
相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后进入应 用,这一效果适用于多种项目中,相信今后开发应用一定会用得 ...
- 【HDOJ】1506 Largest Rectangle in a Histogram
Twitter还是Amazon拿这个题目当过面试题.DP区间求面积. /* 1506 */ #include <cstdio> #include <cstring> #incl ...
- refresh的停车场
题目描述 refresh最近发了一笔横财,开了一家停车场.由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多.当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先 进入停车 ...
- POJ1789 Truck History(prim)
题目链接. 分析: 最大的敌人果然不是别人,就是她(英语). 每种代表车型的串,他们的distance就是串中不同字符的个数,要求算出所有串的distance's 最小 sum. AC代码如下: #i ...
- 基于JAVA的webVNC
jxpiInstall安装程序下载: http://sdlc-esd.sun.com/ESD6/JSCDL/jdk/7u60-b19/jxpiinstall.exe?AuthParam=1402208 ...
- iOS APP之本地数据存储(译)
最近工作中完成了项目的用户信息本地存储,查阅了一些本地存储加密方法等相关资料.期间发现了一个来自印度理工学院(IIT)的信息安全工程师的个人博客,写了大量有关iOS Application secur ...
- angularjs改变路由时控制器每次都执行两次
原因如下: 代码里面也初始化了控制器 模板配置了一个控制器