天天看点

java 语意事件之ItemListener

/*

 * 选中JComboBox某项 右侧JTextArea显示选中项信息 以追加方式显示

 */


import java.awt.Button;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.Label;

import java.awt.Panel;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import javax.swing.JCheckBox;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollBar;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;


public class YuYiEventDemo extends JFrame{

 JPanel comboBoxPanel;

 JComboBox list;

 JTextArea textInfoArea;

 String degreeStr="";

 public YuYiEventDemo() {

 JLabel labeltext=new JLabel("学历",Label.LEFT);

 labeltext.setFont(new Font("Dialog ", Font.PLAIN, 20));

 textInfoArea =new JTextArea("显示所选信息:");

 String[] degree= {"本科以下","本科","硕士","博士"};

 list=new JComboBox(degree);

 comboBoxPanel=new JPanel();

 GridLayout gridLayout=new GridLayout(1, 3);

 comboBoxPanel.add(labeltext);

 comboBoxPanel.add(list);

//
 comboBoxPanel.add(textInfoArea);
 

 setLayout(gridLayout);

 add(comboBoxPanel);

 add(textInfoArea);

 list.addItemListener(new ItemListener() {

 

 @Override

 public void itemStateChanged(ItemEvent e) {

 //在用户已选定或取消选定某项时调用

 degreeStr=(String)list.getSelectedItem();

 textInfoArea.append(degreeStr);//JTextArea可以直接使用对象名.append()追加

 }

 });

 }

 

 public static void main(String[] args) {

 YuYiEventDemo t=new YuYiEventDemo();

 t.setSize(500, 300);

 t.setResizable(false);

 t.setLocationRelativeTo(null);

 t.setVisible(true);

 t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }


}