下面的例子综合了JOptionPane的四种按钮,并对各个按钮的单击事件做了处理。
[例8-11]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class JOptionPaneTest extends JFrame{
private JButton btn1 = new JButton("消息对话框");
private JButton btn2 = new JButton("确认对话框");
private JButton btn3 = new JButton("输入对话框");
private JButton btn4 = new JButton("选项对话框");
public JOptionPaneTest(String title){
super(title);
Container contentPane = this.getContentPane();
contentPane.setLayout(new FlowLayout(5));
//添加按钮
contentPane.add(btn1);
contentPane.add(btn2);
contentPane.add(btn3);
contentPane.add(btn4);
pack();
setVisible(true);
//注册监听器
btn1.addActionListener(new MyActionListener());
btn2.addActionListener(new MyActionListener());
btn3.addActionListener(new MyActionListener());
btn4.addActionListener(new MyActionListener());
}
//监听器
private class MyActionListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
int n;//用于接收对话框的int类型返回值
String str = new String();//用于接收对话框的String类型返回值
//处理"消息对话框"按钮
if(e.getActionCommand().equals("消息对话框")){
//显示一个MessageDialog
JOptionPane.showMessageDialog(null, "这是一个消息对话框吗?");
}
if(e.getActionCommand().equals("确认对话框")){
//显示一个ConfirmDialog,并用变量n接收其返回值
n=JOptionPane.showConfirmDialog(null, "你确认这是一个确认对话框吗?","对话框title",JOptionPane.YES_NO_OPTION);
//判断用户点击了哪个按钮
switch(n){
case 0:
JOptionPane.showMessageDialog(null, "您点击了按钮——是");
break;
case 1:
JOptionPane.showMessageDialog(null, "您点击了按钮——否");
break;
case -1:
JOptionPane.showMessageDialog(null, "您点击了退出按钮");
break;
}
}
if(e.getActionCommand().equals("输入对话框")){
//显示一个InputDialog,并用变量str接收其返回值
str =(String)JOptionPane.showInputDialog(null ,"请选择城市:","对话框title",JOptionPane.INFORMATION_MESSAGE,null,new String[]{"北京","上海","广州"},"北京");
//判断用户选择了ComboBox的哪项
if(str != null){
JOptionPane.showMessageDialog(null, "您选择了"+str);
}
}
if(e.getActionCommand().equals("选项对话框")){
//显示一个OptionDialog,并用变量n接收其返回值
n = JOptionPane.showOptionDialog(null, "选项对话框", "对话框title", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, null,new String[]{"自定义1","自定义2","自定义3"},"自定义1");
//判断用户点击了 哪个按钮
switch(n){
case 0:
JOptionPane.showMessageDialog(null, "您点击了按钮——自定义1");
break;
case 1:
JOptionPane.showMessageDialog(null, "您点击了按钮——自定义2");
break;
case 2:
JOptionPane.showMessageDialog(null, "您点击了按钮——自定义3");
break;
case -1:
JOptionPane.showMessageDialog(null, "您点击了退出按钮");
break;
}
}
}
}
}
public class Test8_11 {
public static void main(String[] args) {
new JOptionPaneTest("JOptionPane四种对话框形式测试");
}
}
该程序是对四种按钮的各个单击事件进行处理,所以运行结果较多,这里不再一一列举,请读者自行运行程序查看结果。
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|