1、实验目的与要求
(1) 综合掌握java基本程序结构;
(2) 综合掌握java面向对象程序设计特点;
(3) 综合掌握java GUI 程序设计结构;
(4) 综合掌握java多线程编程模型;
(5) 综合编程练习。
2、实验内容和步骤
任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx。
任务2:综合编程练习
练习1:设计一个用户信息采集程序,要求如下:
(1) 用户信息输入界面如下图所示:
(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); } } }