1、实验目的与要求

(1) 综合掌握java基本程序结构;

(2) 综合掌握java面向对象程序设计特点;

(3) 综合掌握java GUI 程序设计结构;

(4) 综合掌握java多线程编程模型;

(5) 综合编程练习。

2、实验内容和步骤

任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx。

任务2:综合编程练习

练习1:设计一个用户信息采集程序,要求如下:

(1)  用户信息输入界面如下图所示:

 徐思201771010132 《面向对象程序设计(java)》课程学习总结

(1)用户点击提交按钮时,用户输入信息显示控制台界面;

(2)用户点击重置按钮后,清空用户已输入信息;

(3)点击窗口关闭,程序退出。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;

public class DemoJFrame {
    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            JFrame frame = new FrameTest();
            frame.setTitle("Students Detail");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        });
    }
}

class FrameTest extends JFrame {

    private JPanel panel;
    private JTextField fieldname;
    private JTextField fieldadress;
    private JRadioButton male, female;
    private ButtonGroup bg;
    private JLabel jPanel;
    private JCheckBox reading, singsing, dancing;
    private JComboBox<String> JComboBox;
    private JButton validate, reset;

    public FrameTest() {
        setSize(700, 500);
        panel = new JPanel();
        panel.setLayout(null);

        bg = new ButtonGroup();
        male = new JRadioButton("Male", false);
        male.setBounds(150, 330, 80, 50);
        female = new JRadioButton("Female", false);
        female.setBounds(150, 300, 80, 50);
        bg.add(male);
        bg.add(female);

        addJLabel("sex:", 100, 300);
        addJLabel("name:", 100, 50);
        addJLabel("address:", 100, 150);
        addJLabel("Qualification:", 400, 50);
        addJLabel("Hobby:", 400, 150);

        fieldname = new JTextField();
        fieldname.setBounds(150, 70, 120, 30);
        fieldname.setVisible(true);
        fieldadress = new JTextField();
        fieldadress.setBounds(150, 160, 130, 100);
        fieldadress.setVisible(true);

        reading = new JCheckBox("Reading");
        reading.setBounds(450, 160, 100, 30);
        singsing = new JCheckBox("dancing");
        singsing.setBounds(450, 180, 100, 30);
        dancing = new JCheckBox("singing");
        dancing.setBounds(450, 200, 100, 30);

        JComboBox = new JComboBox<>();
        JComboBox.addItem("初中");
        JComboBox.addItem("高中");
        JComboBox.addItem("大学");
        JComboBox.setBounds(500, 65, 100, 20);

        validate = new JButton("提交");
        validate.setBounds(200, 400, 100, 35);
        reset = new JButton("重置");
        reset.setBounds(400, 400, 100, 35);

        validate.addActionListener(new Action1());
        reset.addActionListener(new Action2());

        panel.add(reading);
        panel.add(singsing);
        panel.add(dancing);
        panel.add(validate);
        panel.add(reset);
        panel.add(JComboBox);
        panel.add(fieldname);
        panel.add(fieldadress);
        panel.add(male);
        panel.add(female);
        add(panel);

    }

    public void addJLabel(String n, int a, int b) {
        jPanel = new JLabel(n);
        jPanel.setBounds(a, b, 100, 50);
        panel.add(jPanel);
    }

    private class Action1 implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            System.out.println("name:" + fieldname.getText() + "\n" + "address:" + fieldadress.getText());
            System.out.println("Qualification:" + JComboBox.getSelectedItem());
            System.out.println("Hobby:");
            if (reading.isSelected() == true)
                System.out.print(reading.getText());
            if (singsing.isSelected() == true)
                System.out.print(singsing.getText());
            if (dancing.isSelected() == true)
                System.out.print(dancing.getText());
            System.out.println("\n" + "sex:");
            if (male.isSelected() == true)
                System.out.println(male.getText());
            if (female.isSelected() == true)
                System.out.println(female.getText());
        }
    }

    private class Action2 implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            fieldname.setText(null);
            fieldadress.setText(null);
            reading.setSelected(false);
            singsing.setSelected(false);
            dancing.setSelected(false);
            bg.clearSelection();
            JComboBox.setSelectedIndex(0);
        }
    }
}
DemoJFrame

相关文章: