个人信息调查

来源:互联网 发布:deepin linux u盘安装 编辑:程序博客网 时间:2024/06/02 10:14

                           个人信息调查

 
          个人信息调查,这是一个小的桌面窗体。用java来实现的。里面的控件用到了,单选框,复选框,文本框以及三个button 按钮。每一个按钮的功能都不相同。其中有'年龄' 这一项。年龄的大小控制在 0- 199这个氛围里。如果超出这个氛围就回报错的。 
    下面来看看code:
   
import java.awt.*;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JOptionPane;public class Questionnaire  extends Frame implements ActionListener,  KeyListener,FocusListener{    TextField name = new TextField(10);      // 文本组件        Checkbox man = new Checkbox("男");     // 复选框组件    Checkbox woman = new Checkbox("女");    CheckboxGroup sex = new CheckboxGroup();    // 单选按钮组件        TextField age = new TextField("20",4);        Choice nativeplace = new Choice();    // 籍贯    // 选项框组件         Checkbox like1 = new Checkbox ("读书");     Checkbox like2 = new Checkbox ("上网");     Checkbox like3 = new Checkbox ("体育活动");         List website = new List(4);           Button btn1 = new Button("确认");     Button btn2 = new Button("取消");     Button btn3 = new Button("退出");                 Label l = new Label("个人信息调查表");          Label l1 = new Label("姓名");     Label l2 = new Label("性别");     Label l3 = new Label("年龄");     Label l4 = new Label("籍贯");     Label l5 = new Label("爱好");     Label l6 = new Label("喜欢的网站");          // 构造函数     public Questionnaire(String title){     super(title);     this.setSize(400,400);     this.setLayout(null);     l.setBounds(150, 50, 100, 20);          l1.setBounds(50, 100, 40, 20);     name.setBounds(90, 100, 100, 20);          // 性别      l2.setBounds(230, 100, 40, 20);     man.setCheckboxGroup(sex);     woman.setCheckboxGroup(sex);     man.setBounds(270, 100, 60, 20);     woman.setBounds(330, 100, 60, 20);          //  年龄     l3.setBounds(50, 150, 40, 20);     age.setBounds(90, 150, 50, 20);            // 籍贯     l4.setBounds(230, 150, 40, 20);     nativeplace.setBounds(270, 150, 60, 20);            nativeplace.add("北京");      nativeplace.add("上海");      nativeplace.add("天津");      nativeplace.add("重庆");      nativeplace.add("武汉");      nativeplace.add("长沙");            // 爱好      l5.setBounds(50, 200, 40, 20);            like1.setBounds(90,200, 60, 20);      like2.setBounds(150,200, 60, 20);      like3.setBounds(210,200, 100, 20);            // 喜爱网站       website.add("新     浪");       website.add("搜      狐");       website.add("网       易");       website.add("淘       宝");       website.add("赶集网");       website.add("新华网");        l6.setBounds(50, 250, 80, 20);       website.setBounds(130, 250, 100, 60);              // 3个按钮       btn1.setBounds(110, 330, 50, 20);       btn2.setBounds(180, 330, 50, 20);       btn3.setBounds(250, 330, 50, 20);              // 想窗体中添加标签及文本框       this.add(l);       this.add(l1);       this.add(name);       this.add(l2);       this.add(man);       this.add(woman);       this.add(l3);       this.add(age);       this.add(l4);       this.add(nativeplace);       this.add(l5);       this.add(like1);       this.add(like2);       this.add(like3);       this.add(website);       this.add(btn1);       this.add(btn2);       this.add(btn3);              setLocationRelativeTo(null);       // 屏幕居中放置       btn1.addActionListener(this);       btn2.addActionListener(this);       btn3.addActionListener(this);            age.addKeyListener(this);        age.addFocusListener(this);            }               @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根    Object ob = e.getSource();    if( ob == btn3){  // 退出按钮    System.exit(0);    }    else if( ob ==btn1){  // 确认按钮    System.out.println("姓名:"+name.getText());    System.out.println("性别:"+sex.getSelectedCheckbox().getLabel());    System.out.println("年龄:"+age.getText());    System.out.println("籍贯:"+nativeplace.getSelectedItem());        String s1 = like1.getState() ? like1.getLabel()+ " ":"";   String s2 = like2.getState() ? like2.getLabel()+ " ":"";  String s3 = like1.getState() ? like3.getLabel()+ " ":"";      System.out.println("爱好:"+s1+s2+s3);  System.out.println("喜欢的网站: "+website.getSelectedItem());    }else if( ob == btn2){  // 取消按钮    name.setText(" ");    sex.setSelectedCheckbox(man);    age.setText("20");        like1.setState(false);    like2.setState(false);    like3.setState(false);    website.deselect(website.getSelectedIndex());    }     }               @Overridepublic void focusGained(FocusEvent e) {// TODO 自动生成的方法存根}@Overridepublic void focusLost(FocusEvent e) {// TODO 自动生成的方法存根int i = Integer.parseInt(age.getText()); if((i == 0)||(i >= 200)){ JOptionPane.showMessageDialog(null, "年龄有误,其值应该为1-199!,",  "错误提示",     JOptionPane.ERROR_MESSAGE);           age.setText("20");           age.requestFocusInWindow();}}    @Overridepublic void keyTyped(KeyEvent e) {  // TODO 自动生成的方法存根if(((e.getKeyChar()<=0x39)&&(e.getKeyChar()>=0x30))||(e.getKeyChar() == 127)||(e.getKeyChar() ==8)){e.setKeyChar(e.getKeyChar());}else{e.setKeyChar((char)0);}}@Overridepublic void keyPressed(KeyEvent e) {// TODO 自动生成的方法存根}@Overridepublic void keyReleased(KeyEvent e) {// TODO 自动生成的方法存根}public static void main(String[] args){Questionnaire app = new Questionnaire("个人信息");app.setVisible(true);app.setResizable(false);app.setBackground(Color.ORANGE);}}

1 0