JAVA实训第六天

更新界面
在这里插入图片描述
package net.hw.student.gui;

import net.hw.student.bean.College;
import net.hw.student.service.CollegeService;
import net.hw.student.service.impl.CollegeServicelmpl;
import net.hw.student.service.impl.CollegeServicelmpl;

import javax.swing.;
import java.awt.
;
import java.awt.event.*;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class SetCollegeInfoFrame extends JFrame {
JPanel panel;
JPanel pnlNorth;
JPanel panel1;
JPanel panel2;
JPanel panel3;
JPanel panel4;
JPanel panel5;
JPanel pnlCenter;
JPanel pnlSouth;

JLabel lblName;
JLabel lblPresident;
JLabel lblStartTime;
JLabel lblTelephone;
JLabel lblEmail;
JLabel lblAddress;
JLabel lblProfile;
/**     * 按钮     */
JButton btnSave;
JButton btnExit;
/**     * 文本框与文本区     */
JTextField txtName;
JTextField txtPresident;
JTextField txtStartTime;
JTextField txtTelephone;
JTextField txtEMail;
JTextField txtAddress;
JTextArea txtProfile;
/**     * 滚动面板     */
JScrollPane scrollPane;
/**     * 学校服务      */
private CollegeService collegeService;
private College college;
private int id = 1;
/**     * 构造方法     *
 *
 * *@param title
 * */
public SetCollegeInfoFrame(String title) {
    super(title);
    initGUI();
}
/**     * 初始化用户界面     */
private void initGUI() {
       panel = (JPanel) getContentPane();
       pnlNorth = new JPanel();
       panel1 = new JPanel();
       panel2 = new JPanel();
       panel3 = new JPanel();
       panel4 = new JPanel();
       panel5 = new JPanel();
       pnlCenter = new JPanel();
       pnlSouth = new JPanel();
       lblName = new JLabel("学校名称:");
       lblPresident = new JLabel("校         长:");
       lblStartTime = new JLabel("建校时间:");
       lblTelephone = new JLabel("联系电话:");
       lblEmail = new JLabel("电子邮箱:");
       lblAddress = new JLabel("通讯地址:");
       lblProfile = new JLabel("学校简介:");
       txtName = new JTextField(30);
       txtPresident = new JTextField(11);
       txtStartTime = new JTextField(12);
       txtTelephone = new JTextField(11);
       txtEMail = new JTextField(12);
       txtAddress = new JTextField(30);
       txtProfile = new JTextArea(5, 37);
       txtProfile.setLineWrap(true);
       scrollPane = new JScrollPane(txtProfile, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
               ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
       btnSave = new JButton("保存[S]");
       btnSave.setMnemonic(KeyEvent.VK_S);
       btnExit = new JButton("退出[X]");
       btnExit.setMnemonic(KeyEvent.VK_X);
       panel.setLayout(new BorderLayout());
       panel.add(pnlNorth, "North");
       panel.add(pnlCenter, "Center");
       panel.add(pnlSouth, "South");
       pnlNorth.setLayout(new GridLayout(5, 1));
       pnlNorth.add(panel1);
       pnlNorth.add(panel2);
       pnlNorth.add(panel3);
       pnlNorth.add(panel4);
       pnlNorth.add(panel5);

       panel1.add(lblName);
       panel1.add(txtName);
       panel2.add(lblPresident);
       panel2.add(txtPresident);
       panel2.add(lblStartTime);
       panel2.add(txtStartTime);
       panel3.add(lblTelephone);
       panel3.add(txtTelephone);
       panel3.add(lblEmail);
       panel3.add(txtEMail);
       panel4.add(lblAddress);
       panel4.add(txtAddress);
       panel5.add(lblProfile);

       pnlCenter.add(scrollPane);
       // 将两个按钮添加到南面板

        pnlSouth.add(btnSave);
        pnlSouth.add(btnExit);
        // 创建学校服务对象

        collegeService = new CollegeServicelmpl();
        college = collegeService.findCollegeById(id);
        txtName.setText(college.getName());
        txtPresident.setText(college.getPresident());
        txtStartTime.setText(college.getStartTime().toString());
        txtTelephone.setText(college.getTelephone());
        txtEMail.setText(college.getEmail());
        txtAddress.setText(college.getAddress());
        txtProfile.setText(college.getProfile());
        setSize(450, 350);
        setLocationRelativeTo(null);
        // 设置窗口不可调整大小

        setResizable(false);
        // 设置窗口刚好容纳组件

        pack();
        setTitle("设置学校信息");
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        btnExit.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                dispose();
            }
        });

        btnSave.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                try {
                    college.setName(txtName.getText());
                    college.setPresident(txtPresident.getText());
                    college.setStartTime(new Timestamp(
                            new SimpleDateFormat("yyyy-MM-dd")
                                    .parse(txtStartTime.getText().toString()).getTime()));
                    college.setTelephone(txtTelephone.getText());
                    college.setEmail(txtEMail.getText());
                    college.setAddress(txtAddress.getText());
                    college.setProfile(txtProfile.getText());
                    collegeService.updateCollege(college);
                    JOptionPane.showMessageDialog(null, "更新数据成功!");
                } catch (ParseException e) {
                               JOptionPane.showMessageDialog(null, "更新数据失败!");
                }
            }
        });
}
/**
 * * 主方法
 * *
 * * @param args     */
public static void main(String[] args) {
    new SetCollegeInfoFrame("");
}

}

浏览学生信息
在这里插入图片描述

package net.hw.student.gui;

import net.hw.student.bean.Student;
import net.hw.student.service.StudentService;
import net.hw.student.service.impl.StudentServicelmpl;

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

public class BrowseStudentsFrame extends JFrame{
    private JPanel panel;
    private JPanel pnlCenter;
    private JPanel pnlRow1;
    private JPanel pnlRow2;
    private JPanel pnlRow3;
    private JPanel pnlRow4;
    private JPanel pnlRow5;
    private JPanel pnlRow6;
    private JPanel pnlRow7;
    private JPanel pnlSouth;

    private JLabel lblId;
    private JLabel lblName;
    private JLabel lblSex;
    private JLabel lblAge;
    private JLabel lblDepartment;
    private JLabel lblClass;
    private JLabel lblTelephone;

    private JTextField txtId;
    private JTextField  txtName;
    private JTextField  txtSex;
    private JTextField  txtAge;
    private JTextField  txtDepartment;
    private JTextField  txtClass;
    private JTextField  txtTelephone;

    private JButton btnTop;
    private JButton btnPrevious;
    private JButton btnNext;
    private JButton btnBottom;
    private JButton btnExit;

    private int currentRow;
    private List<Student> students;

    StudentService studentService;

    public BrowseStudentsFrame(String title){
        super(title);
        initGUI();
    }
    private void initGUI() {
        panel = (JPanel) getContentPane();
        pnlCenter = new JPanel();
        pnlSouth = new JPanel();

        pnlRow1 = new JPanel();
        pnlRow2 = new JPanel();
        pnlRow3 = new JPanel();
        pnlRow4 = new JPanel();
        pnlRow5 = new JPanel();
        pnlRow6 = new JPanel();
        pnlRow7 = new JPanel();

        pnlRow1.setLayout(new FlowLayout(FlowLayout.LEFT));
        pnlRow2.setLayout(new FlowLayout(FlowLayout.LEFT));
        pnlRow3.setLayout(new FlowLayout(FlowLayout.LEFT));
        pnlRow4.setLayout(new FlowLayout(FlowLayout.LEFT));
        pnlRow5.setLayout(new FlowLayout(FlowLayout.LEFT));
        pnlRow6.setLayout(new FlowLayout(FlowLayout.LEFT));
        pnlRow7.setLayout(new FlowLayout(FlowLayout.LEFT));

        lblId = new JLabel("学号:");
        lblName = new JLabel("姓名:");
        lblSex = new JLabel("性别:");
        lblAge = new JLabel("年龄:");
        lblDepartment = new JLabel("系部:");
        lblClass = new JLabel("班级:");
        lblTelephone = new JLabel("电话:");

        txtId = new JTextField(40);
        txtName = new JTextField(40);
        txtSex = new JTextField(40);
        txtAge = new JTextField(40);
        txtDepartment = new JTextField(40);
        txtClass = new JTextField(40);
        txtTelephone = new JTextField(40);
        txtId.setEditable(false);
        txtName.setEditable(false);
        txtSex.setEditable(false);
        txtAge.setEditable(false);
        txtDepartment.setEditable(false);
        txtClass.setEditable(false);
        txtTelephone.setEditable(false);

        btnTop = new JButton("第一条[T]");
        btnPrevious = new JButton("上一条[P]");
        btnNext = new JButton("下一条[N]");
        btnBottom = new JButton("最后一条[B]");
        btnExit = new JButton("退出[X]");
        btnTop.setMnemonic(KeyEvent.VK_T);
        btnPrevious.setMnemonic(KeyEvent.VK_P);
        btnNext.setMnemonic(KeyEvent.VK_N);
        btnBottom.setMnemonic(KeyEvent.VK_B);
        btnExit.setMnemonic(KeyEvent.VK_X);

        panel.setLayout(new BorderLayout());
        panel.add(pnlCenter, BorderLayout.CENTER);
        panel.add(pnlSouth, BorderLayout.SOUTH);
        pnlCenter.setLayout(new GridLayout(7, 1));

        pnlCenter.add(pnlRow1);
        pnlCenter.add(pnlRow2);
        pnlCenter.add(pnlRow3);
        pnlCenter.add(pnlRow4);
        pnlCenter.add(pnlRow5);
        pnlCenter.add(pnlRow6);
        pnlCenter.add(pnlRow7);

        pnlRow1.add(lblId);
        pnlRow1.add(txtId);
        pnlRow2.add(lblName);
        pnlRow2.add(txtName);
        pnlRow3.add(lblSex);
        pnlRow3.add(txtSex);
        pnlRow4.add(lblAge);
        pnlRow4.add(txtAge);
        pnlRow5.add(lblDepartment);
        pnlRow5.add(txtDepartment);
        pnlRow6.add(lblClass);
        pnlRow6.add(txtClass);
        pnlRow7.add(lblTelephone);
        pnlRow7.add(txtTelephone);

        pnlSouth.add(btnTop);
        pnlSouth.add(btnPrevious);
        pnlSouth.add(btnNext);
        pnlSouth.add(btnBottom);
        pnlSouth.add(btnExit);

        setSize(500, 300);
        setResizable(false);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        studentService = new StudentServicelmpl();
        students = studentService.findAllStudents();
        if (students.size() > 0) {
            currentRow = 1;
            setTitle("浏览学生表记录" + " && 当前记录:" + currentRow);
            fillFrameData(currentRow);
        }else {
            JOptionPane.showMessageDialog(null, "表中没有记录!", "浏览学生表记录", JOptionPane.ERROR_MESSAGE);
            btnTop.setEnabled(false);
            btnPrevious.setEnabled(false);
            btnNext.setEnabled(false);
            btnBottom.setEnabled(false);
        }
        btnTop.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                currentRow = 1;
                fillFrameData(currentRow);
            }
    });
        btnPrevious.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (currentRow > 1) {
                    currentRow--;
                    fillFrameData(currentRow);
                } else {
                    JOptionPane.showMessageDialog(null, "已到第一条记录!", "浏览学生表记录", JOptionPane.WARNING_MESSAGE);
                }
            }
        });
        btnNext.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (currentRow < students.size() - 1) {
                    currentRow++;
                    fillFrameData(currentRow);
                } else {
                    JOptionPane.showMessageDialog(null, "已到最后一条记录!", "浏览学生表记录", JOptionPane.WARNING_MESSAGE);
                }
            }
        });
        btnBottom.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                currentRow = students.size() - 1;
                fillFrameData(currentRow);
            }
        });
        btnExit.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                dispose();
            }
        });
    }
    private void fillFrameData(int currentRow) {
        if (currentRow > 0) {
            setTitle("浏览学生表记录" + " && 当前记录:" + currentRow);
            txtId.setText(students.get(currentRow).getId());
            txtName.setText(students.get(currentRow).getName());
            txtSex.setText(students.get(currentRow).getSex());
            txtAge.setText(students.get(currentRow).getAge() + "");
            txtDepartment.setText(students.get(currentRow).getDepartment());
            txtClass.setText(students.get(currentRow).getClazz());
            txtTelephone.setText(students.get(currentRow).getTelephone());
        }
    }
    public static void main(String[] args) {
        new BrowseStudentsFrame("");
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值