awt和swing学习(三)

       awt和swing中JComboBox用法,本人感觉这样很不好,但是找不到好的用法,不给我的意图相符,我是想每次选择后就出现当前选择的结果,可是事实不是这样。

Code:
  1. import java.awt.*;   
  2. import java.awt.event.*;   
  3. import javax.swing.*;   
  4. import javax.swing.event.*;   
  5.   
  6. public class TestComboBox {   
  7.     public static void main(String[] args) {   
  8.         MyComboBox mcbx = new MyComboBox("测试");   
  9.         System.out.println(mcbx.get());        
  10.   }   
  11. }   
  12.   
  13. class MyComboBox extends JFrame {   
  14.     JComboBox cbx;   
  15.     static int index = 0;   
  16.     final String[] test = {"","小孩""中年""老年"};   
  17.     static String str;   
  18.     public MyComboBox(String title) {   
  19.         super(title);   
  20.         setSize(500,500);   
  21.         cbx = new JComboBox(test);   
  22.         getContentPane().add(cbx);   
  23.         setVisible(true);   
  24.     }   
  25.        
  26.     String get() {   
  27.         while(str == null) {   
  28.             cbx.addItemListener(new ItemListener() {   
  29.             public void itemStateChanged(ItemEvent e) {   
  30.                 index = cbx.getSelectedIndex();   
  31.                 str = test[index];   
  32.             }   
  33.           });   
  34.         }   
  35.         return str;    
  36.     }   
  37. }  

我觉得不应该用while来判断,而应该用监听器,每次发生变化,结果也变化才对。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值