⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changeframe.java

📁 本光盘包含了本书各章中出现的所有程序的源代码。 1. 如果是Java程序
💻 JAVA
字号:
package com.function;

import java.awt.Container;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.UIManager;

public class ChangeFrame extends JFrame implements ActionListener{
    private SearchFrame parent;
	private Student student;
	private DBUnit db;
	private JLabel id;
	private JTextField idText;
	private JLabel name;
	private JTextField nameText;
	private JLabel gander;
	private JComboBox ganderComboBox;
	private JLabel major;
	private JTextField majorText;
	private JLabel grade;
	private JTextField gradeText;
	private JLabel address;
	private JTextField addressText;
	private JLabel telephone;
	private JTextField telephoneText;
	private JButton changeButton;
	private JButton cancel;
	private Container contentPane;
	

	public ChangeFrame(Student student,SearchFrame parent) {
		try {
    //设置显示外观为本地系统外观,注意此句需放在初始化所有控件之前
		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}
		this.student=student;
		this.parent=parent;
		initComponents();
	}
	
	private void initComponents() {
		contentPane=getContentPane();
		contentPane.setLayout(null);
		id=new JLabel();
		id.setText("学号");
		id.setFont(new Font("",Font.BOLD,18));
		id.setBounds(50, 20, 100, 30);
		contentPane.add(id);
		
		idText=new JTextField();
		idText.setText(String.valueOf(student.getID()));
		idText.disable();
		idText.setBounds(150, 20, 100, 30);
		contentPane.add(idText);
		
		name=new JLabel();
		name.setText("姓名");
		name.setFont(new Font("",Font.BOLD,18));
		name.setBounds(50, 70, 100, 30);
		contentPane.add(name);
		
		nameText=new JTextField();
		nameText.setText(student.getName());
		nameText.setBounds(150, 70, 100, 30);
		contentPane.add(nameText);
		
		gander=new JLabel();
		gander.setText("性别");
		gander.setFont(new Font("",Font.BOLD,18));
		gander.setBounds(50, 120, 100, 30);
		contentPane.add(gander);
		

		String[] s={"男","女"};
		ganderComboBox=new JComboBox(s);
		ganderComboBox.setSelectedItem(student.getGander());
		ganderComboBox.setBounds(150, 120, 100, 30);
		contentPane.add(ganderComboBox);
		
		major=new JLabel();
		major.setText("专业");
		major.setFont(new Font("",Font.BOLD,18));
		major.setBounds(50, 170, 100, 30);
		contentPane.add(major);
		
		majorText=new JTextField();
		majorText.setText(student.getMajor());
		majorText.setBounds(150, 170, 100, 30);
		contentPane.add(majorText);
		
		grade=new JLabel();
		grade.setText("班级");
		grade.setFont(new Font("",Font.BOLD,18));
		grade.setBounds(50, 220, 100, 30);
		contentPane.add(grade);
		
		gradeText=new JTextField();
		gradeText.setText(student.getGrade());
		gradeText.setBounds(150, 220, 100, 30);
		contentPane.add(gradeText);
		
		telephone=new JLabel();
		telephone.setText("联系电话");
		telephone.setFont(new Font("",Font.BOLD,18));
		telephone.setBounds(50, 270, 100, 30);
		contentPane.add(telephone);
		
		telephoneText=new JTextField();
		telephoneText.setText(student.getTelephone());
		telephoneText.setBounds(150, 270, 100, 30);
		contentPane.add(telephoneText);
		
		address=new JLabel();
		address.setText("家庭住址");
		address.setFont(new Font("",Font.BOLD,18));
		address.setBounds(50, 320, 100, 30);
		contentPane.add(address);
		
		addressText=new JTextField();
		addressText.setText(student.getAddress());
		addressText.setBounds(150, 320, 200, 30);
		contentPane.add(addressText);
		
		changeButton=new JButton("修改");
		changeButton.setFont(new Font("",Font.BOLD,15));
		changeButton.setBounds(80, 400, 100, 30);
		changeButton.addActionListener(this);
		contentPane.add(changeButton);
		
		cancel=new JButton("取消");
		cancel.setFont(new Font("",Font.BOLD,15));
		cancel.setBounds(300, 400, 100, 30);
		cancel.addActionListener(this);
		contentPane.add(cancel);
		
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		//把窗口放在屏幕中间
		this.setPreferredSize(new Dimension(500, 500));
		this.setBounds(screenSize.width/2-250,screenSize.height/2-250,500,500);
		this.setVisible(true);
		this.setTitle("修改学生信息");
		this.setResizable(false);
		pack();
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
	}

	//判断是否有信息未输入
	private boolean isNull(){
		if(nameText.getText().trim().equals("")||majorText.getText().trim().equals("")||gradeText.getText().trim().equals("")||telephoneText.getText().trim().equals("")||addressText.getText().trim().equals("")){
			return true;
		}
		else{
			return false;
		}
	}
	
	//将输入的学生信息保存在Student对象中
	private void setStudent(Student student){
		student.setName(nameText.getText());
		student.setGander(ganderComboBox.getSelectedItem().toString());
		student.setMajor(majorText.getText());
		student.setGrade(gradeText.getText());
		student.setAddress(addressText.getText());
		student.setTelephone(telephoneText.getText());
	}
	
	//捕捉到ActionEvent事件后的实现的逻辑,这里指按钮点击事件
	public void actionPerformed(ActionEvent e) {
		// 点击"取消"按钮
		if(e.getActionCommand().equals("取消")){
			this.dispose();
		}
		//点击"修改"按钮
		if(e.getActionCommand().equals("修改")){
			//如果有空信息,显示提示框提示需填写所有信息
			if (isNull()){
				//用户需输入所有信息的提示
				String message="所有信息都必须填写";
				//显示提示框,提示用户
		    	JOptionPane.showMessageDialog(this, message);
			}
			else{
				db=new DBUnit();
				//修改相关数据库记录的SQL语句
				String sql="update Students_Information set name='"+nameText.getText().trim()+"',gander='" +ganderComboBox.getSelectedItem().toString()+"',major='"+majorText.getText().trim()+"',grade='"+gradeText.getText().trim()+"',address='"+addressText.getText().trim()+"',telephone='"+telephoneText.getText().trim()+"' where id="+idText.getText();			
				//根据数据库传回的记录数判断是否修改成功
				if(db.updateSQL(sql)>=1){
					db.closeConnection();
					//成功修改记录提示信息
					String message="成功修改该学生信息";
					//显示提示框,提示用户
					JOptionPane.showMessageDialog(this, message);
					//将修改后的学生信息保存进Student对象
					this.setStudent(student);
					//将修改后的学生信息传给查询界面并更新
					parent.afterChange(student);
					this.dispose();
				}
				else{
					//修改失败的提示信息
					String message="修改该学生信息失败";
					//显示提示框,提示用户
					JOptionPane.showMessageDialog(this, message);
				}
				
			}
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -