对话框的四种类型:

消息, 输入,确认, 颜色

背景:建一个名为“ActionEventDemo”的窗口,在其中放置了一个按钮,一个面板,一个标签。

1)消息对话框

(1)点击按钮弹出名为"消息提示对话框"的消息对话框,对话框里的内容为:“是否要输入内容”。选择“是”即输入 代码中 已经给出的内容。

代码如下:

1 packageHandEvent;2

3 importjava.awt.event.ActionEvent;4 importjava.awt.event.ActionListener;5

6 import javax.swing.*;7

8 public class ActionEventDemo extends JFrame implementsActionListener {9 JButton click;10 JPanel panel;11 JLabel message;12

13 publicActionEventDemo() {14 super("ActionEventDemo");//只能放在第一行,在子类的构造方法中,用super调用且放在第一行

15 click =new JButton ("Click");16 panel =newJPanel();17 message=newJLabel();18

19 add(panel);20 panel.add(click);21 panel.add(message);22

23 click.addActionListener(this);//this指代"obj"(public static void 中new 的对象)

24 setSize(300,300);25 setVisible(true);26

27 }28

29 public static voidmain(String args[]) {30 ActionEventDemo obj=newActionEventDemo();31 }32 public voidactionPerformed(ActionEvent arg0) {33 //消息对话框

34 JOptionPane.showMessageDialog(this,"是否要输入内容","消息提示对话框",JOptionPane.INFORMATION_MESSAGE);//this交代了在this的前方显示对话框35 //this 至位置,第二个 为内容,第三个为对话框标题,第四个为对话框类型

36

37 message.setText("Welcome to java");//需要传参

38

39 }40 }

View Code

(2)点击按钮弹出名为“消息警告对话框”,对话框里的内容为“该内容有风险,是否要继续输入”。选择“是”即输入 代码中 已经给出的内容。

代码如下:

1 packageHandEvent;2

3 importjava.awt.event.ActionEvent;4 importjava.awt.event.ActionListener;5

6 import javax.swing.*;7

8 public class ActionEventDemo extends JFrame implementsActionListener {9 JButton click;10 JPanel panel;11 JLabel message;12

13 publicActionEventDemo() {14 super("ActionEventDemo");//只能放在第一行,在子类的构造方法中,用super调用且放在第一行

15 click =new JButton ("Click");16 panel =newJPanel();17 message=newJLabel();18

19 add(panel);20 panel.add(click);21 panel.add(message);22

23 click.addActionListener(this);//this指代"obj"(public static void 中new 的对象)

24 setSize(300,300);25 setVisible(true);26

27 }28

29 public static voidmain(String args[]) {30 ActionEventDemo obj=newActionEventDemo();31 }32 public voidactionPerformed(ActionEvent arg0) {33 //消息对话框

34 JOptionPane.showMessageDialog(this,"该内容有风险,是否要继续输入","消息警告对话框",JOptionPane.WARNING_MESSAGE);//this交代了在this的前方显示对话框35 //this 至位置,第二个 为内容,第三个为对话框标题,第四个为对话框类型

36

37 message.setText("Welcome to java");//需要传参

38

39 }40 }

View Code

两段代码的分析:这两段代码都是属于消息对话框(当然还有其他的消息对话框)。两段代码的变动只有一句:

将:

JOptionPane.showMessageDialog(this,"是否要输入内容","消息提示对话框",JOptionPane.INFORMATION_MESSAGE);//this交代了在this的前方显示对话框

改为:

JOptionPane.showMessageDialog(this,"该内容有风险,是否要继续输入","消息警告对话框",JOptionPane.WARNING_MESSAGE);//this交代了在this的前方显示对话框

在JOptionPane.showMessageDialog后面的括号中(,,,)有三个都号,分割成了4个位置。

第一个位置“this”表示,在该位置之前弹出窗口;第二个位置 输入对话框的内容;第三个位置 设定对话框的标题;第四个位置 设定对话框的属性(提示.警告等等,注:不同属性的标志不一样)。

其中 “this”——new 出的“obj”对象的设定:

public static voidmain(String args[]) {

ActionEventDemo obj=newActionEventDemo();

}

2)输入对话框

(1)点击按钮弹出名为"输入对话框"的输入对话框,对话框里的内容为:“给标签赋值的内容是:”,在下面的文本框中输入 要给标题赋值的内容 点击确定后,则在按钮后面显示。如果点击“取消”,则无内容显示。

代码如下:

1 packageHandEvent;2

3 importjava.awt.event.ActionEvent;4 importjava.awt.event.ActionListener;5

6 import javax.swing.*;7

8 public class ActionEventDemo extends JFrame implementsActionListener {9 JButton click;10 JPanel panel;11 JLabel message;12

13 publicActionEventDemo() {14 super("ActionEventDemo");//只能放在第一行,在子类的构造方法中,用super调用且放在第一行

15 click =new JButton ("Click");16 panel =newJPanel();17 message=newJLabel();18

19 add(panel);20 panel.add(click);21 panel.add(message);22

23 click.addActionListener(this);24 setSize(300,300);25 setVisible(true);26 }27

28 public static voidmain(String args[]) {29 ActionEventDemo obj=newActionEventDemo();30 }31

32 public voidactionPerformed(ActionEvent arg0) {33 //输入对话框

34 String str=JOptionPane.showInputDialog(this, "给标签赋值的内容是:","输入对话框",JOptionPane.INFORMATION_MESSAGE);35 if(str!=null)36 message.setText(str);37 //this 至位置,第二个 为内容,第三个为对话框标题,第四个为对话框类型38 //message.setText("Welcome to java");//需要传参

39 }40 }

View Code

分析:

在之前的内容上

将:

JOptionPane.showMessageDialog(this,"该内容有风险,是否要继续输入","消息警告对话框",JOptionPane.WARNING_MESSAGE);//this交代了在this的前方显示对话框

改为:

String str=JOptionPane.showInputDialog(this, "给标签复制的内容是:","输入对话框",JOptionPane.INFORMATION_MESSAGE);if(str!=null)

message.setText(str);

注:

<1>和消息提示框不同的是,输入对话框必须要定义一个String str 变量 ,并将JOptionPane.showInputDialog()的值赋值给该变量

<2>考虑到代码的完整性,用if语句判断,如果在输入框中输入不为空(即不为  null)则用message。setText导出输入框中输入的字符串。

<3>JOptionPane.showInputDialog()和JOptionPone.showMessageDialog()一样,在他们后面的括号中的四个位置上:分别是:this(在该位置之前插入),对话框中的内容,对话框的名称以及对话框的属性。

3)确认对话框

(1)点击按钮弹出名为"确认对话框"的确认对话框,对话框里的内容为:“是否确认给标题赋值:”,点击“是”,则在按钮后面显示预先先好的message.setText()复制代码。如果点击“否”或者“取消”,则无内容显示。

代码如下:

1 packageHandEvent;2

3 importjava.awt.event.ActionEvent;4 importjava.awt.event.ActionListener;5

6 import javax.swing.*;7

8 public class ActionEventDemo extends JFrame implementsActionListener {9 JButton click;10 JPanel panel;11 JLabel message;12

13 publicActionEventDemo() {14 super("ActionEventDemo");//只能放在第一行,在子类的构造方法中,用super调用且放在第一行

15 click =new JButton ("Click");16 panel =newJPanel();17 message=newJLabel();18

19 add(panel);20 panel.add(click);21 panel.add(message);22

23 click.addActionListener(this);24

25 setSize(300,300);26 setVisible(true);27 }28

29 public static voidmain(String args[]) {30 ActionEventDemo obj=newActionEventDemo();31 }32

33 public voidactionPerformed(ActionEvent arg0) {34 //确认对话框

35 int n=JOptionPane.showConfirmDialog(this, "确认是否给标签赋值","确认对话框",JOptionPane.YES_NO_CANCEL_OPTION);36 if(n==JOptionPane.YES_OPTION) {37 message.setText("welcome");38 }39 else if (n==JOptionPane.NO_OPTION){40 message.setText(null);41 }42 else{43 message.setText(null);44 }45

46 }47 }

View Code

分析:

在2)的基础上:

将:

String str=JOptionPane.showInputDialog(this, "给标签复制的内容是:","输入对话框",JOptionPane.INFORMATION_MESSAGE);

if(str!=null)

message.setText(str);

改为:

int n=JOptionPane.showConfirmDialog(this, "确认是否给标签赋值","确认对话框",JOptionPane.YES_NO_CANCEL_OPTION);if(n==JOptionPane.YES_OPTION) {

message.setText("welcome");

}else if (n==JOptionPane.NO_OPTION){

message.setText(null);

}else{

message.setText(null);

}

注 :

<1>和输入对话框一样,也要定义int n 的整型变量,并将JOptionPane.showConfirmDialog()赋值变量

<2>JOptionPane.showConfirmDialog()和JOptionPane.showInputDialog(),JOptionPone.showMessageDialog()一样,在他们后面的括号中的四个位置上:分别是:this(在该位置之前插入),对话框中的内容,对话框的名称以及对话框的属性。

<3>在<2>中的第四个位置上JOptionPane在加“ .  ”之后有很三个可选项(包括1yes,no,cancle  2yes  3no)

<4>若选择了yes,no ,cancle的话,if语句对三个按钮反别判断。“no”或者“cancle”则在massage。setText()中写入“null”

4)颜色对话框

(1)点击按钮弹出名为"调色板"的颜色对话框,选择颜色,即为窗口的背景色。

代码如下:

1 packageHandEvent;2

3 importjava.awt.Color;4 importjava.awt.Container;5 importjava.awt.event.ActionEvent;6 importjava.awt.event.ActionListener;7

8 import javax.swing.*;9

10 public class ActionEventDemo extends JFrame implementsActionListener {11 JButton click;12 JPanel panel;13 JLabel message;14

15 publicActionEventDemo() {16 super("ActionEvenDemo");//只能放在第一行,在子类的构造方法中,用super调用且放在第一行

17 click =new JButton ("Click");18 panel =newJPanel();19 message=newJLabel();20

21 add(panel);22 panel.add(click);23 panel.add(message);24

25 click.addActionListener(this);26

27 setSize(300,300);28 setVisible(true);29

30 }31

32 public static voidmain(String args[]) {33 ActionEventDemo obj=newActionEventDemo();34 }35

36 public voidactionPerformed(ActionEvent arg0) {37 //颜色对话框

38 Color clor=JColorChooser.showDialog(this,"调色板",getContentPane().getBackground());39 panel.setBackground(clor);40

41 }42 }

View Code

分析:

将:

int n=JOptionPane.showConfirmDialog(this, "确认是否给标签赋值","确认对话框",JOptionPane.YES_NO_CANCEL_OPTION);

if(n==JOptionPane.YES_OPTION) {

message.setText("welcome");

}

else if (n==JOptionPane.NO_OPTION){

message.setText(null);

}

else{

message.setText(null);

}

改为:

Color clor=JColorChooser.showDialog(this,"调色板",getContentPane().getBackground());

panel.setBackground(clor);

注:

<1>和输入,确认对话框一样,定义一个Color clor的变量,并将JColorChooser.showDialog()赋值变量。

<2>直接用JPanel 定义的变量panel调用color,否则无法显示背景颜色。

java 弹出输入框_Java--UI--弹出对话框相关推荐

  1. java倒计时跳出窗口_java倒计时弹出框

    直接使用java语言写出一个运行时的弹出框倒计时: package test.dagong.testDecreaseDate; import java.awt.Container; import ja ...

  2. java选择是否弹窗_java Swing 点击对话框选择是或者否后又再次弹出刚才关闭的对话框...

    我写了个程序,在JTable中的数据上单击右键弹出一个菜单如下图单击删除时弹出一个对话框,可以选择是或者否在多次操作时发现不管我选择是或者否,理论上选择之后就关闭该该警告对话框... 我写了个程序,在 ...

  3. java 异常抛出 顺序_java异常抛出时间顺序

    1.当前方法抛出异常时(交给java虚拟机执行异常处理) public class ExceptionTest5 { public void method(String str) throws MyE ...

  4. java 数组不重复_java如何找出数组中的不重复数字

    找出数组中不重复的一个数字,题目大致是这样的:int[] a = { 1, 2, 3, 4, 3, 2, 1 }; 在线视频教程推荐:java在线学习 解决办法是:public static int ...

  5. java拼音识别声调_Java源代码计算出拼音的声调字母是哪个

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 来源一:比特网 来源二:东方锐智 import java.io.*;//导入操作要用到的类 public class main { public stat ...

  6. java编程水仙花数_Java 编程找出所有的水仙花数(水仙花数)。

    展开全部 代码如下: package com.vo; public class Shuixianhua { public static void main(String[] args) { int a ...

  7. java 拖拽生成_JAVA UI 拖拽功能

    java GUI拖拽功能是很实用也相对高级一些的功能. 有一小部分的GUI控件支持 他们有dragEnabled属性.这些JComponent包括: javax.swing.JColorChooser ...

  8. jsp点击按钮弹出输入框_按键精灵UI界面的输入框原来是这样使用的

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  9. Android开发中EditText获得焦点弹出输入框改变屏幕布局的问题

    在Android开发中,比较头疼的问题就是EditText总是已启动就获得焦点并弹出输入框,感觉很是不爽.而且,因为输入框的弹出,导致屏幕布局获得改变,有些空间被挤压到一起,很是难看,所以,我就上网搜 ...

  10. 解决IDEA GIT密码输入错误后,报Authentication failed ... 不再弹出输入框,提交更新失败

    IDEA GIT密码输入错误后,不再弹出输入框,提交更新失败,此时可以到windows凭据中去修改. 方法一: 开始菜单 >> 点击用户头像 >> 在左侧选择"管理你 ...

最新文章

  1. iOS-响应上下左右滑动手势
  2. 架构师之路 — 软件架构 — 软件质量模型
  3. DL之CNN:基于CNN-RNN(GRU,2)算法(keras+tensorflow)实现不定长文本识别
  4. zabbix3.2监控mysql_zabbix3.2监控MYSQL状态
  5. tensorflow随笔-队列管理器QueueRunner-生产者与消费者
  6. 复位 stm32_分析一个关于STM32 芯片异常复位的经典案例!
  7. nodejs里fs.readFile的相对路径转绝对路径问题
  8. 【自适应(盲)均衡1】LMMSE、Godard、CMA常模、Sato等算法在信道均衡中的应用理论与MATLAB仿真
  9. tensorflow2.0 Dataset创建和使用
  10. 手机优酷APP怎么上传视频
  11. mysql数据库创建带-的数据库名
  12. jboss怎么连接Oracle数据库,如何在Jboss中配置数据源
  13. nodejs11安装教程(升级最新版本)
  14. 剑指Offer之把数组排成最小的数
  15. 如何用Python实现目录遍历
  16. C# 中的常用正则表达式汇总
  17. opencv 二值化图像 像素统计 countNonZero
  18. 手机最好的html5浏览器,哪款浏览器最好用:六款主流手机浏览器横评
  19. 无刷直流电动机矢量控制(二)——无刷直流电机的工作原理及其内部结构
  20. html5测试网速插件,js 检测客户端网速

热门文章

  1. [02-28][07最新恐怖大片][宫女][DVD中字][已测][21:57]
  2. 移动上网成主流 老美家庭抛弃有线宽带
  3. 一个相当low得http调用
  4. 函数指针与宏的简单应用
  5. java build 模式_Java Builder 模式,你搞懂了么?
  6. 如何查看服务器关机日志信息,查看服务器关机日志
  7. python连接AutoCAD;pyautocad连接错误;win32com连接AutoCAD出现问题
  8. 老薛主机磁盘空间满了怎么办
  9. 损失函数——长尾分布 / Equalization Loss【论文笔记】
  10. android读取应用列表权限,Android获取系统应用及安装应用的权限列表