JAVA复杂计算器多个组合框_java组件练习之复数计算器和下拉框联动

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);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值