a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 124|回复: 1

[JAVA] 2012年计算机二级Java基础之对话框学习教程(2)

[复制链接]
发表于 2012-7-31 22:04:26 | 显示全部楼层 |阅读模式
  下面的例子综合了JOptionPane的四种按钮,并对各个按钮的单击事件做了处理。   [例8-11]3 m2 ?& w( w5 @. t3 g$ V# V1 J
  import java.awt.*;
7 Y# t  n5 P8 _: X- z1 o  import java.awt.event.*;, O) U8 J; T! m; [
  import javax.swing.*;- A5 ~7 F9 n9 n3 C( M+ t6 {4 m
  class JOptionPaneTest extends JFrame{: _9 ?0 ?* ~7 A- `/ a% z" L
  private JButton btn1 = new JButton("消息对话框");
7 c# w" l5 K, ?/ X8 O9 s+ ], b  private JButton btn2 = new JButton("确认对话框");
* I' }' O  B$ U; ~9 H& t2 m) Q  private JButton btn3 = new JButton("输入对话框");$ D$ O+ a: Q6 l( `5 h7 N9 z
  private JButton btn4 = new JButton("选项对话框");
' s( `9 }0 u# M1 M2 L: T  public JOptionPaneTest(String title){
9 D( F, n: Q- d8 v8 T" k6 S" O  super(title);, v6 p6 q' B) k, G: \. T7 G
  Container contentPane = this.getContentPane();) j6 I$ e1 O' U' g& {& T
  contentPane.setLayout(new FlowLayout(5));
' H' e! ~/ [% G) x9 }& S  //添加按钮. w" ~# g9 H3 }0 P* h$ y' I; ?
  contentPane.add(btn1);
$ |: w: z1 N# g. Q6 y: m) Z" s4 U! w  contentPane.add(btn2);. I: K+ v3 |! N
  contentPane.add(btn3);
' A8 S, K) @/ k  L% o  l# c/ X  contentPane.add(btn4);
- A" v- j" D% E  pack();8 ^% s7 e- r+ @) `
  setVisible(true);
4 \* m" S- {1 `  //注册监听器) A0 A2 r) I( c+ z5 q2 m. @7 z
  btn1.addActionListener(new MyActionListener());% f' {" K) s9 j# Z
  btn2.addActionListener(new MyActionListener());
3 ~, z: b6 n3 Z  btn3.addActionListener(new MyActionListener());! [- C# ]% r9 u( o0 \6 Z; g
  btn4.addActionListener(new MyActionListener());7 k( C5 `, |6 F3 o
  }
7 R. u5 }/ {9 C% A: V7 N4 R  //监听器
3 m4 `) J/ [. n& u4 ~) I& a# e  private class MyActionListener implements ActionListener{9 C- n# z1 A5 Y- L" R* ^
  public void actionPerformed(ActionEvent e) {
( a: E9 Z* E. J% `  int n;//用于接收对话框的int类型返回值
  J% @- p% ~) a* ~7 [  x  String str = new String();//用于接收对话框的String类型返回值
* k; z& f# U2 H7 w/ r  //处理"消息对话框"按钮4 \& y/ h( b; @+ X/ I
  if(e.getActionCommand().equals("消息对话框")){# t" M2 B6 D4 D! B6 D) A) E
  //显示一个MessageDialog% x, N$ a8 j* z; F: `
  JOptionPane.showMessageDialog(null, "这是一个消息对话框吗?");
7 t: V* v! U8 U( ]  }# a) y% n6 h% b
  if(e.getActionCommand().equals("确认对话框")){' Z1 G) z+ w3 L7 J# X- n
  //显示一个ConfirmDialog,并用变量n接收其返回值- o; h/ P6 ^. E3 D  e. s9 J; l
  n=JOptionPane.showConfirmDialog(null, "你确认这是一个确认对话框吗?","对话框title",JOptionPane.YES_NO_OPTION);- H. ?' U  z7 Y0 ?6 F
  //判断用户点击了哪个按钮1 ~! t0 w4 m! e1 @+ C; r
  switch(n){8 \3 S* m3 w$ N5 |7 |) M
  case 0:: [" h7 U" X. V  i# H
  JOptionPane.showMessageDialog(null, "您点击了按钮——是");- M* X. B; Z) @/ Z' t3 H& x
  break;
: ?* s% h5 g  K0 R, c8 s' ~  case 1:* v# F5 n) ~8 f1 R: `5 G
  JOptionPane.showMessageDialog(null, "您点击了按钮——否");: f& j0 ]2 I; M$ d$ Z0 K: ?4 @
  break;
: G+ n# `" L' U: T8 b5 F  case -1:
7 z$ y  L+ ~3 r' [) U) I( _, q  JOptionPane.showMessageDialog(null, "您点击了退出按钮");
, F/ ^8 D' K* ~6 a; r7 G% _8 {$ V. F( J  break;2 G/ j  r) U6 j, U
  }8 H- s/ |5 B( y; s9 G& c
  }
回复

使用道具 举报

 楼主| 发表于 2012-7-31 22:04:27 | 显示全部楼层

2012年计算机二级Java基础之对话框学习教程(2)

</p>  if(e.getActionCommand().equals("输入对话框")){
* R" P4 u, {* f  //显示一个InputDialog,并用变量str接收其返回值
7 K" v* V" b* A  D  str =(String)JOptionPane.showInputDialog(null ,"请选择城市:","对话框title",JOptionPane.INFORMATION_MESSAGE,null,new String[]{"北京","上海","广州"},"北京");' @& _5 t2 N# x2 ]4 j8 t' P
  //判断用户选择了ComboBox的哪项
3 t. @; m% f: g' n9 l" \# r; u  if(str != null){
  c% L. w# }& `3 h3 G6 }  JOptionPane.showMessageDialog(null, "您选择了"+str);' Q5 L' b& b, I0 ^
  }- T( h/ s# h2 a3 ^
  }
8 A* S3 w6 x% s" a6 }: W, Y) h  if(e.getActionCommand().equals("选项对话框")){
( a" B+ F. K1 |: u6 V  //显示一个OptionDialog,并用变量n接收其返回值( `$ l: F: R/ s# C
  n = JOptionPane.showOptionDialog(null, "选项对话框", "对话框title", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, null,new String[]{"自定义1","自定义2","自定义3"},"自定义1");% S" q- ^, ^2 F6 L" a  {$ L" b; b
  //判断用户点击了 哪个按钮
  l# X( l) p; S. m( G# ^3 O  switch(n){
$ j0 r: D, u, F3 I/ p2 S7 v  _  case 0:
" i0 g# q  Q( e9 }- O6 T  JOptionPane.showMessageDialog(null, "您点击了按钮——自定义1");
- A" w& A. I, ?' k/ h0 \; a3 ~2 o  break;
$ r' |0 J7 a; ~  case 1:! d# d$ @4 R5 J/ u: v8 v( x
  JOptionPane.showMessageDialog(null, "您点击了按钮——自定义2");8 o" B6 O' ^, y2 D
  break;; H: F8 t0 f# ]' n7 a" f
  case 2:6 R, p  t8 Q" V; d7 H& E; Z" x
  JOptionPane.showMessageDialog(null, "您点击了按钮——自定义3");4 J; L) V: p/ u' M. U
  break;  @7 f* V  Y: z
  case -1:! b" G. X6 B! t
  JOptionPane.showMessageDialog(null, "您点击了退出按钮");
" u, N( F2 k, G/ R* i  break;
" Z+ D  F/ A8 e# B  }
! m! J9 Q3 B4 m7 e; N) M$ {8 s  }
3 n$ t% u( S7 O1 b4 }' Y* t  }. _8 m; ]+ G$ U& z& J8 u
  }2 d; S& Q# y& x+ f/ R; r+ e. M
  }
, i0 r. B* W/ l0 P+ r) |: Y  public class Test8_11 {
5 \6 `! K: Y- T: y4 [  public static void main(String[] args) {
  {2 C: c: I6 H  I/ w  new JOptionPaneTest("JOptionPane四种对话框形式测试");
% }: q% ~- f. O4 ]7 d  }
5 i9 _. [, H& s7 E9 w. h' X" \  }
. Z. ^  p0 y/ A1 J# L9 a8 L, a6 u$ Q  该程序是对四种按钮的各个单击事件进行处理,所以运行结果较多,这里不再一一列举,请读者自行运行程序查看结果。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-3 08:33 , Processed in 0.270528 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表