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

📄 mainform.java

📁 企业员工考勤系统!! !
💻 JAVA
字号:
package manger;

import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.swing.ButtonGroup;
import javax.swing.JDesktopPane;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;



public class MainForm {

	private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="108,10"
	private JDesktopPane jDesktopPane = null;
	private JScrollPane jScrollPane = null;  //  @jve:decl-index=0:visual-constraint="76,1"
	static JTable jTable = null;
	private JButton jButtonAdd = null;
	private JButton jButtonDel = null;
	private JButton jButtonMod = null;
	private JButton jButtonWork = null;
	private JRadioButton jRadioName = null;
	private JButton jButtonExit = null;
	private JRadioButton jRadioNum = null;
	private JTextField jTextSearch = null;
	private JButton jButtonSearch = null;
	ButtonGroup group = new ButtonGroup();  //  @jve:decl-index=0:
	private JButton jButtonInfo = null;

	/**
	 * This method initializes jFrame	
	 * 	
	 * @return javax.swing.JFrame	
	 */
	private JFrame getJFrame() {
		if (jFrame == null) {
			jFrame = new JFrame();
			jFrame.setTitle("学生考勤信息管理");
			jFrame.setSize(new Dimension(555, 294));
			Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//窗口居中显示
			screenSize = Toolkit.getDefaultToolkit().getScreenSize();
			jFrame.setLocation((screenSize.width-jFrame.getWidth())/2,(screenSize.height-jFrame.getHeight())/2);
			jFrame.setContentPane(getJDesktopPane());
		}
		return jFrame;
	}

	/**
	 * This method initializes jDesktopPane	
	 * 	
	 * @return javax.swing.JDesktopPane	
	 */
	private JDesktopPane getJDesktopPane() {
		if (jDesktopPane == null) {
			jDesktopPane = new JDesktopPane();
			jDesktopPane.add(getJScrollPane(), null);
			jDesktopPane.add(getJButtonAdd(), null);
			jDesktopPane.add(getJButtonDel(), null);
			jDesktopPane.add(getJButtonMod(), null);
			jDesktopPane.add(getJButtonWork(), null);
			jDesktopPane.add(getJRadioName(), null);
			jDesktopPane.add(getJButtonExit(), null);
			jDesktopPane.add(getJRadioNum(), null);
			jDesktopPane.add(getJTextField(), null);
			jDesktopPane.add(getJButtonSearch(), null);
			jDesktopPane.add(getJButtonInfo(), null);
		}
		return jDesktopPane;
	}
	
	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setBounds(new Rectangle(0, 0, 548, 185));
			jScrollPane.setViewportView(getJTable());
		}
		return jScrollPane;
	}

	/**
	 * This method initializes jTable	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJTable() {
		if (jTable == null) {
			jTable = new JTable();
			jTable.setDefaultRenderer(Object.class, new MyRenderer());
		}
		return jTable;
	}

	/**
	 * This method initializes jButtonAdd	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonAdd() {
		if (jButtonAdd == null) {
			jButtonAdd = new JButton();
			jButtonAdd.setBounds(new Rectangle(32, 199, 80, 22));
			jButtonAdd.setText("添加");
			jButtonAdd.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					AddForm Add =new AddForm();
					Add.getJFrame().setVisible(true);
				}
			});
		}
		return jButtonAdd;
	}

	/**
	 * This method initializes jButtonDel	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonDel() {
		if (jButtonDel == null) {
			jButtonDel = new JButton();
			jButtonDel.setBounds(new Rectangle(132, 199, 80, 22));
			jButtonDel.setText("删除");
			jButtonDel.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					try {
						Del();
					} catch (Exception e1) {
						// TODO 自动生成 catch 块
						e1.printStackTrace();
					}
				}

				private void Del() throws Exception {
					int Mark =jTable.getSelectedRow();
					if(Mark==-1)
						JOptionPane.showMessageDialog(new JDialog(),"请先选择一条记录!");
					else
					{
						String num = (String) jTable.getValueAt(Mark, 1);
						String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
						String Str="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=StuInfo";
						Connection con=null;
						Statement stmt=null;
						Class.forName(DBDriver);
						con=DriverManager.getConnection(Str);
						stmt=con.createStatement();
						stmt.executeUpdate("Delete From StuInfo where Num='"+num+"'");
						stmt.close();
						con.close();
						JOptionPane.showMessageDialog(new JDialog(),"删除成功!");
						Reflesh();
					}
				}
			});
		}
		return jButtonDel;
	}

	/**
	 * This method initializes jButtonMod	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonMod() {
		if (jButtonMod == null) {
			jButtonMod = new JButton();
			jButtonMod.setBounds(new Rectangle(232, 199, 80, 22));
			jButtonMod.setText("修改");
			jButtonMod.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					int Mark =jTable.getSelectedRow();
					if(Mark==-1)
						JOptionPane.showMessageDialog(new JDialog(),"请先选择一条记录!");
					else
					{
						Mod();
					}
				}

				private void Mod() {
					ModForm Mod = new ModForm();
					Mod.getJFrame().setVisible(true);
				}
			});
		}
		return jButtonMod;
	}

	/**
	 * This method initializes jButtonWork	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonWork() {
		if (jButtonWork == null) {
			jButtonWork = new JButton();
			jButtonWork.setBounds(new Rectangle(332, 199, 80, 22));
			jButtonWork.setText("考勤");
			jButtonWork.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					try {
						AddWork();
					} catch (Exception e1) {
						// TODO 自动生成 catch 块
						e1.printStackTrace();
					}
				}
				
				private void AddWork() throws Exception {
					int Max = 0;
					String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
					String Str="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=StuInfo";
					Connection con=null;
					Statement stmt=null;
					Class.forName(DBDriver);
					con=DriverManager.getConnection(Str);
					stmt=con.createStatement();
					ResultSet rs = stmt.executeQuery("Select Top 1 * From WorkInfo Order by Work_ID desc");
					while(rs.next())
					{
						Max = rs.getInt("Work_ID");
					}
					if(JOptionPane.showConfirmDialog(new JDialog(), "是否进行第"+(Max+1)+"次考勤?", "考勤", 0, 1)==0) {
						for(int i=0;i<jTable.getRowCount();i++) {	
							String str = (String) jTable.getValueAt(i, 0)+"(学号:"+(String) jTable.getValueAt(i, 1)+")是否缺席?";
							if(JOptionPane.showConfirmDialog(new JDialog(), str, "考勤", 0, 1)==0)
								stmt.executeUpdate("Insert Into WorkInfo Values("+(Max+1)+",'"+(String) jTable.getValueAt(i, 1)+"',"+1+")");
							else {
								stmt.executeUpdate("Insert Into WorkInfo Values("+(Max+1)+",'"+(String) jTable.getValueAt(i, 1)+"',"+0+")");
							}
						}
						JOptionPane.showMessageDialog(new JDialog(),"第"+String.valueOf((Max+1))+"次考勤结束!");
					}
					stmt.close();
					con.close();
				}
			});
		}
		return jButtonWork;
	}

	/**
	 * This method initializes jRadioName	
	 * 	
	 * @return javax.swing.JRadioButton	
	 */
	private JRadioButton getJRadioName() {
		if (jRadioName == null) {
			jRadioName = new JRadioButton();
			jRadioName.setBounds(new Rectangle(17, 234, 100, 21));
			jRadioName.setText("按姓名查询");
			group.add(jRadioName);
		}
		return jRadioName;
	}

	/**
	 * This method initializes jButtonExit	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonExit() {
		if (jButtonExit == null) {
			jButtonExit = new JButton();
			jButtonExit.setBounds(new Rectangle(459, 234, 80, 22));
			jButtonExit.setText("退出");
			jButtonExit.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					System.exit(0);
				}
			});
		}
		return jButtonExit;
	}

	/**
	 * This method initializes jRadioButton	
	 * 	
	 * @return javax.swing.JRadioButton	
	 */
	private JRadioButton getJRadioNum() {
		if (jRadioNum == null) {
			jRadioNum = new JRadioButton();
			jRadioNum.setBounds(new Rectangle(119, 234, 100, 21));
			jRadioNum.setText("按学号查询");
			group.add(jRadioNum);
			jRadioNum.setSelected(true);
		}
		return jRadioNum;
	}

	/**
	 * This method initializes jTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextField() {
		if (jTextSearch == null) {
			jTextSearch = new JTextField();
			jTextSearch.setBounds(new Rectangle(229, 234, 128, 22));
		}
		return jTextSearch;
	}

	/**
	 * This method initializes jButtonSearch	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonSearch() {
		if (jButtonSearch == null) {
			jButtonSearch = new JButton();
			jButtonSearch.setBounds(new Rectangle(362, 234, 80, 22));
			jButtonSearch.setText("查询");
			jButtonSearch.addMouseListener(new java.awt.event.MouseAdapter() {   
				public void mouseClicked(java.awt.event.MouseEvent e) {    
					Search();
				}
				private void Search() {
					int Mark = -1;
					if(group.getSelection() == jRadioName.getModel()){
						for(int i=0;i<jTable.getRowCount();i++)
							if(jTable.getValueAt(i, 0).equals(jTextSearch.getText()))
										Mark = i;
						}
					else
					{
						for(int i=0;i<jTable.getRowCount();i++)
							if(jTable.getValueAt(i, 1).equals(jTextSearch.getText()))
										Mark = i;
					}
					if(Mark==-1)
						JOptionPane.showMessageDialog(new JDialog(),"无此记录!");
					else
					{
						jTable.setRowSelectionInterval(Mark, Mark);
						Rectangle rect = jTable.getCellRect(Mark, 0, true); 
						jTable.scrollRectToVisible(rect);
					}
				}
			});
		}
		return jButtonSearch;
	}
	
	/**
	 * This method initializes jButtonInfo	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonInfo() {
		if (jButtonInfo == null) {
			jButtonInfo = new JButton();
			jButtonInfo.setBounds(new Rectangle(432, 199, 80, 22));
			jButtonInfo.setText("信息");
			jButtonInfo.addMouseListener(new java.awt.event.MouseAdapter() {
				public void mouseClicked(java.awt.event.MouseEvent e) {
					int Mark =jTable.getSelectedRow();
					if(Mark==-1)
						JOptionPane.showMessageDialog(new JDialog(),"请先选择一条记录!");
					else
					{
						InfoForm Info = new InfoForm();
						Info.getJFrame().setTitle(jTable.getValueAt(Mark, 0)+"("+jTable.getValueAt(Mark, 1)+")");
						Info.getJFrame().setVisible(true);
					}
				}
			});
		}
		return jButtonInfo;
	}

	public static void main(String[] args) throws Exception {
		MainForm MF;
		MF = new MainForm();
		MF.getJFrame().setVisible(true);
		Reflesh();
	}

	static void Reflesh() throws Exception {
		String[] Title = {"姓名","学号","班级"}; 
		DefaultTableModel model = new DefaultTableModel(null,Title);
		String DBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
		String Str="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=StuInfo";
		Connection con=null;
		Statement stmt=null;
		ResultSet rs=null;
		Class.forName(DBDriver);
		con=DriverManager.getConnection(Str);
		stmt=con.createStatement();
		rs=stmt.executeQuery("Select * From StuInfo");
		while(rs.next())
		{
			Object rowData[] = {rs.getString("Name"),rs.getString("Num"),rs.getString("Grade")};
			model.addRow(rowData);
		}
		stmt.close();
		con.close();
		jTable.setModel(model);
		for(int i=0;i<3;i++)    //取消列宽的重定义
			jTable.getColumnModel().getColumn(i).setResizable(false);
		jTable.getSelectionModel().setSelectionMode(0);   //单行选择模式
		jTable.getTableHeader().setReorderingAllowed(false);   //列头锁定
	}
}

class MyRenderer extends DefaultTableCellRenderer {
	private static final long serialVersionUID = 1L;
	public MyRenderer(){  
	        super();  
	        this.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);  
	}
}

⌨️ 快捷键说明

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