packagetest2;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.ItemEvent;importjava.awt.event.ItemListener;importjavax.swing.ButtonGroup;importjavax.swing.JButton;importjavax.swing.JCheckBox;importjavax.swing.JComboBox;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JRadioButton;importjavax.swing.JTextArea;importjavax.swing.JTextField;public classtest2 {public static voidmain(String [] args){
window win= newwindow();
win.setVisible(true);//win.setBounds(200, 200, 200, 200);
win.setTitle("name");
}
}class window extends JFrame implementsItemListener,ActionListener{//各个组件
JLabel name;
JTextField name_text;
JLabel gender;
ButtonGroup gender_bg;//性别单选组
JRadioButton man;
JRadioButton woman;
JLabel age;
ButtonGroup age_bg;//年龄选择组
JRadioButton age1;
JRadioButton age2;
JRadioButton age3;
JRadioButton age4;//年龄选项
JLabel address;//地址
JLabel province_name;//省名字
JLabel city_name;//市名字
JLabel area_name;//区名字
JComboBox Province;
JComboBox City;
JComboBox Area;//下拉列表
JTextField specific_address;//具体地址输入框
JLabel hobby;//爱好
JCheckBox read_hobby;//爱好选项
JCheckBox music_hobby;
JCheckBox gane_hobby;
JCheckBox ball_hobby;
JCheckBox dance_hobby;
JCheckBox sreech_hobby;
JLabel prize;//获奖
JTextArea prize_text;//文本区
JButton apply; //提交按钮//组件完毕
publicwindow() {
setBounds(500,500,300,400);
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}private void init(){//初始化//第一行
name=new JLabel("姓名:");
name_text=new JTextField(10);
gender=new JLabel(" 性别:");
man=new JRadioButton("男 ");
woman=new JRadioButton("女 ");
gender_bg=newButtonGroup();
gender_bg.add(man);
gender_bg.add(woman);//合并到一起//第二行
age=new JLabel(" 年龄: ");
age1=new JRadioButton(" 18岁以下 ");
age2=new JRadioButton(" 18-35岁 ");
age3=new JRadioButton(" 36-59岁 ");
age4=new JRadioButton(" 60岁以上 ");
age_bg=newButtonGroup();
age_bg.add(age1);
age_bg.add(age2);
age_bg.add(age3);
age_bg.add(age4);//地址
address=new JLabel(" 地址:");//省市县的标签
province_name=new JLabel("省份:");
city_name=new JLabel("市:");/*废弃
* String [] province={"安徽省","山东省","浙江省"};
* //三个对应的市 String[][] cities = newString[][]{{"海淀区","崇文区","西城区"},{"长沙市","株洲市","湘潭市"},{"广州市","深圳市","珠海市"}};
* cmbState=new JComboBox(province);
* cmbCity=new JComboBox(cities[0]);
* cmbState.addItemListener(this);*/
//爱好区
hobby=new JLabel(" 爱好:");
read_hobby=new JCheckBox("阅读 ");
music_hobby=new JCheckBox("音乐 ");
gane_hobby=new JCheckBox("玩游戏 ");
ball_hobby=new JCheckBox("羽毛球 ");
dance_hobby=new JCheckBox("跳舞 ");
sreech_hobby=new JCheckBox("演讲 ");//获奖区//specific_address=new JTextField(30);
prize=new JLabel(" 曾获奖项: ");
prize_text=new JTextArea("",4,18);//提交
apply=new JButton("提交");
apply.addActionListener(this);//提交按钮设置监视器事件处理//System.out.println("?????");//添加组件//第一行
add(name);
add(name_text);
add(gender);
add(man);
add(woman);//第二行
add(age);
add(age1);
add(age2);
add(age3);
add(age4);//第三行
Province = newJComboBox();
Province.addItem("请选择省份 ");
Province.addItem("陕西省");
Province.addItem("安徽省");//Province.setSize(120, 30);//Province.setLocation(30, 30);
Province.addItemListener(this);
add(Province);
City= newJComboBox();
City.addItem("请选择城市");
City.addItem(" ");//City.setSize(120, 30);//City.setLocation(30, 80);
add(City);
Area= newJComboBox();//Area.setSize(120, 30);//Area.setLocation(30, 130);
Area.addItem("请选择县区");
add(Area);
Area.addItem(" ");//add(specific_address);//爱好 第四行
add(hobby);
add(read_hobby);
add(music_hobby);
add(gane_hobby);
add(ball_hobby);
add(dance_hobby);
add(sreech_hobby);//获奖区 第五行
add(prize);
add(prize_text);//提交按钮
add(apply);
setVisible(true);
setLayout(newFlowLayout());//setSize(400,550);//setResizable(false);
}public voiditemStateChanged(ItemEvent e) {
String temp=((JComboBox) e.getSource()).getSelectedItem().toString();if (temp.equals("陕西省")) {
City.removeItemListener(this);
City.removeAllItems();
City.addItemListener(this);
String[] city= { "西安市", "咸阳市", };for (int i = 0; i < city.length; i++) {
City.addItem(city[i]);
}
}if (temp.equals("安徽省")) {
City.removeItemListener(this);
City.removeAllItems();
City.addItemListener(this);
String[] city= { "合肥市", "黄山市"};for (int i = 0; i < city.length; i++) {
City.addItem(city[i]);
}
}if (temp.equals("西安市")) {
Area.removeItemListener(this);
Area.removeAllItems();
Area.addItemListener(this);
String[] area= { "未央区", "雁塔区", "新城区" }; //动态数组存储地名
for (int i = 0; i < area.length; i++) {
Area.addItem(area[i]);
}
}if (temp.equals("咸阳市")) {
Area.removeItemListener(this);
Area.removeAllItems();
Area.addItemListener(this);
Area.removeAllItems();
String[] area= { "秦都区", "渭滨区", "长武县", "武功县", "泾阳县"};for (int i = 0; i < area.length; i++) {
Area.addItem(area[i]);
}
}if (temp.equals("合肥市")) {
Area.removeItemListener(this);
Area.removeAllItems();
Area.addItemListener(this);
String[] area= { "庐阳区", "蜀山区"};for (int i = 0; i < area.length; i++) {
Area.addItem(area[i]);
}
}if (temp.equals("黄山市")) {
Area.removeItemListener(this);
Area.removeAllItems();
Area.addItemListener(this);
Area.removeAllItems();
String[] area= { "徽州区", "黄山区"};for (int i = 0; i < area.length; i++) {
Area.addItem(area[i]);
}
}if (temp.equals(" ")) {
Area.removeItemListener(this);
Area.removeAllItems();
Area.addItem("请选择市区");
City.removeItemListener(this);
City.removeAllItems();
City.addItem("请选择省份");
}
}public voidactionPerformed(ActionEvent e) {//输出信息拼接字符串
String message="姓名:";
message+=name.getText().toString();
message+=" 性别:";if(man.isSelected()){
message+="男";
}else{if(woman.isSelected()){
message+="女";
}
}//年龄
message+=" 年龄:";if(age1.isSelected()){
message+="18岁以下";
}else if(age2.isSelected()){
message+="19-35岁";
}else if(age3.isSelected()){
message+="36-59岁";
}else if(age4.isSelected()) {
message+= "60岁以上";
}//地址
message+="地址 ";
message+=Province.getSelectedItem();
message+=City.getSelectedItem();
message+=Area.getSelectedItem();
message+=" 具体位置";
message+=specific_address.getText();//爱好
message+=" 爱好";if(read_hobby.isSelected()){
message+="阅读 ";
}if(music_hobby.isSelected()){
message+="音乐 ";
}if(gane_hobby.isSelected()){
message+="玩游戏 ";
}if(ball_hobby.isSelected()){
message+="羽毛球 ";
}if(dance_hobby.isSelected()){
message+="跳舞 ";
}if(sreech_hobby.isSelected()){
message+="演讲 ";
}//奖项
if(prize.getText()!=""){
message+="曾获奖项 ";
message+=prize.getText();
}
JOptionPane.showConfirmDialog(this,message);
}
}