📄 mainform.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 + -