当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级Java对话框学习教程(2)
发布时间:2011/12/29 17:01:05 来源:城市学习网 编辑:ziteng

  下面的例子综合了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