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

📄 createframe.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 CreateFrame extends JFrame implements ActionListener{
	private SearchFrame parent;
	private Student st;
	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 createButton;
	private JButton cancel;
	private Container contentPane;
	
	public CreateFrame(SearchFrame parent) {
		try {
    //设置显示外观为本地系统外观,注意此句需放在初始化所有控件之前
		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}
		this.parent=parent;
		initComponents();
	}
	
	private void initComponents() {
		contentPane=getContentPane();
		contentPane.setLayout(null);
		id=new JLabel();
		id.setText("学号");
		id.setFont(new Font("",Font.BOLD,18));
		//name.setPreferredSize(new Dimension(50, 30));
		id.setBounds(50, 20, 100, 30);
		contentPane.add(id);
		
		idText=new JTextField();
		db=new DBUnit();
		idText.setText(String.valueOf(db.getNewStudentID()));
		db.closeConnection();
		idText.disable();
		idText.setBounds(150, 20, 100, 30);
		contentPane.add(idText);
		
		name=new JLabel();
		name.setText("姓名");
		name.setFont(new Font("",Font.BOLD,18));
		//name.setPreferredSize(new Dimension(50, 30));
		name.setBounds(50, 70, 100, 30);
		contentPane.add(name);
		
		nameText=new JTextField();
		nameText.setBounds(150, 70, 100, 30);
		contentPane.add(nameText);
		
		gander=new JLabel();
		gander.setText("性别");
		gander.setFont(new Font("",Font.BOLD,18));
		//name.setPreferredSize(new Dimension(50, 30));
		gander.setBounds(50, 120, 100, 30);
		contentPane.add(gander);
		
		String[] s={"男","女"};
		ganderComboBox=new JComboBox(s);
		ganderComboBox.setBounds(150, 120, 100, 30);
		contentPane.add(ganderComboBox);
		
		major=new JLabel();
		major.setText("专业");
		major.setFont(new Font("",Font.BOLD,18));
		//name.setPreferredSize(new Dimension(50, 30));
		major.setBounds(50, 170, 100, 30);
		contentPane.add(major);
		
		majorText=new JTextField();
		majorText.setBounds(150, 170, 100, 30);
		contentPane.add(majorText);
		
		grade=new JLabel();
		grade.setText("班级");
		grade.setFont(new Font("",Font.BOLD,18));
		//name.setPreferredSize(new Dimension(50, 30));
		grade.setBounds(50, 220, 100, 30);
		contentPane.add(grade);
		
		gradeText=new JTextField();
		gradeText.setBounds(150, 220, 100, 30);
		contentPane.add(gradeText);
		
		telephone=new JLabel();
		telephone.setText("联系电话");
		telephone.setFont(new Font("",Font.BOLD,18));
		//name.setPreferredSize(new Dimension(50, 30));
		telephone.setBounds(50, 270, 100, 30);
		contentPane.add(telephone);
		
		telephoneText=new JTextField();
		telephoneText.setBounds(150, 270, 100, 30);
		contentPane.add(telephoneText);
		
		address=new JLabel();
		address.setText("家庭住址");
		address.setFont(new Font("",Font.BOLD,18));
		//name.setPreferredSize(new Dimension(50, 30));
		address.setBounds(50, 320, 100, 30);
		contentPane.add(address);
		
		addressText=new JTextField();
		addressText.setBounds(150, 320, 200, 30);
		contentPane.add(addressText);
		
		createButton=new JButton("新建");
		createButton.setFont(new Font("",Font.BOLD,15));
		createButton.setBounds(80, 400, 100, 30);
		createButton.addActionListener(this);
		contentPane.add(createButton);
		
		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.setTitle("新建学生信息");
		this.setVisible(true);
		this.setResizable(false);
		pack();
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自动生成方法存根
		java.awt.EventQueue.invokeLater(new Runnable() {
			public void run() {
				SearchFrame sf=new SearchFrame();
				new CreateFrame(sf).setVisible(true);
			}
		});
	}
	
	//判断是否有信息未输入
	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.setID(idText.getText());
		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事件后的实现的逻辑,在这里指JButton点击事件
	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="insert into Students_Information(name,gander,major,grade,address,telephone) values('"+nameText.getText().trim()+"','"+ganderComboBox.getSelectedItem().toString()+"','"+majorText.getText().trim()+"','"+gradeText.getText().trim()+"','"+addressText.getText().trim()+"','"+telephoneText.getText().trim()+"')";
				db.updateSQL(sql);
				db.closeConnection();
				//插入记录后,提示用户创建成功的信息
				String message="成功新建该学生信息";
				//显示提示框,提示用户
				JOptionPane.showMessageDialog(this, message);
				//将创建的学生信息保存在Student对象中
				st=new Student();
				this.setStudent(st);
				//将Student对象传入查询界面,并更新查询界面
				parent.afterCreate(st);
				//关闭新建界面
				this.dispose();
			}
			
		}
	}

}

⌨️ 快捷键说明

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