📄 userlogviewframe.java
字号:
package baseinforinterface;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;import data.*;import maininterface.*;import user.*;import method.*;public class UserLogViewFrame extends JFrame implements ActionListener { JPanel contentPane; //创建标签控件 JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); //创建下拉列表框控件 JComboBox jComboBox1 = new JComboBox(); //创建编辑框控件 JTextField jTextField1 = new JTextField(); JTextField jTextField2 = new JTextField(); JTextField jTextField3 = new JTextField(); //创建按钮 JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); //创建滚动框和表格 JScrollPane tableScrollPane1 = new JScrollPane(); JTable jdbTable1 = new JTable(); //创建表格模式类 StockManagementTableModel smTableModel = new StockManagementTableModel(); //创建标题数组 String[] colNames = {"序号", "操作程序名字", "操作内容", "用户名字", "操作日期"}; //创建字体类 Font dialog13 = new java.awt.Font("Dialog", 0, 13); //声明数据类 StockManagementData stockManagementData = null; //声明用户类 User user = null; //声明主窗口类 StockManagementMainFrame stockManagementMainFrame = null; //创建用户日志数组 String[][] userLog = new String[0][5]; //创建方法类 DataMethod dataMethod = new DataMethod(); public UserLogViewFrame(StockManagementMainFrame stockManagementMainFrame) { this.stockManagementMainFrame = stockManagementMainFrame; //取得主窗口的数据类 stockManagementData = stockManagementMainFrame.getStockManagementData(); //取得主窗口的用户类 user = stockManagementMainFrame.getUser(); //取得基础信息模块的用户权限 int baseInforFunction = user.getBaseInforFunction(); //检查用户权限 if((baseInforFunction & 2048) != 2048){ JOptionPane.showMessageDialog(null, user.getUserName() + "用户不具有该权限."); System.exit(0); } try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(null); this.setSize(new Dimension(619, 505)); this.setTitle("用户日志查看窗口"); //设置标签控件属性 jLabel1.setText("查询条件:"); jLabel1.setBounds(new Rectangle(23, 33, 70, 16)); jLabel2.setText("开始日期:"); jLabel2.setBounds(new Rectangle(23, 66, 73, 16)); jLabel3.setText("结束日期:"); jLabel3.setBounds(new Rectangle(202, 67, 73, 16)); //设置下拉列表框属性 jComboBox1.setBounds(new Rectangle(94, 33, 156, 22)); jComboBox1.addItem("根据程序名字查询"); jComboBox1.addItem("根据操作内容查询"); jComboBox1.addItem("根据用户名字查询"); jComboBox1.addItem("根据操作时间查询"); //设置编辑框的属性 jTextField1.setBounds(new Rectangle(271, 33, 101, 22)); jTextField2.setBounds(new Rectangle(94, 64, 101, 22)); jTextField3.setBounds(new Rectangle(271, 63, 101, 22)); //设置滚动框的属性 tableScrollPane1.setBounds(new Rectangle(23, 102, 570, 338)); tableScrollPane1.getViewport().add(jdbTable1); //设置按钮的属性 jButton1.setText("查询"); jButton1.setActionCommand("search"); jButton1.setBounds(new Rectangle(384, 33, 79, 22)); jButton2.setText("退出"); jButton2.setActionCommand("exit"); jButton2.setBounds(new Rectangle(384, 64, 79, 22)); //为面板加入控件 contentPane.add(jLabel1, null); contentPane.add(jLabel2, null); contentPane.add(jLabel3, null); contentPane.add(jTextField1, null); contentPane.add(jTextField2, null); contentPane.add(jTextField3, null); contentPane.add(tableScrollPane1); contentPane.add(jComboBox1, null); contentPane.add(jButton1, null); contentPane.add(jButton2, null); //设置窗口类的字体和为按钮加入动作接收器 setupFontAndListener(); } //设置窗口类的字体和为按钮加入动作接收器的方法 public void setupFontAndListener(){ Component[] components = contentPane.getComponents(); //创建临时按钮控件 JButton tmpBtn = new JButton(); for(int i = 0; i < components.length; i++){ components[i].setFont(dialog13); if(components[i].getClass().getName().equals("javax.swing.JButton")){ tmpBtn = (JButton)components[i]; tmpBtn.addActionListener(this); } } } //退出方法 public void exit(){ //隐藏窗口 this.setVisible(false); //清空数组的内容 userLog = new String[0][5]; //清空表格的内容 this.showTableData(userLog); //取得面板上的所有控件 Component[] components = contentPane.getComponents(); //创建临时编辑框控件 JTextField tmpTextField = new JTextField(); for(int i = 0; i < components.length; i++){ if(components[i].getClass().getName().equals("javax.swing.JTextField")){ tmpTextField = (JTextField)components[i]; //清空编辑框的内容 tmpTextField.setText(""); } } } //设置用户的方法 public void setUser(User user) { this.user = user; } protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { exit(); } } //显示表格内容的方法 public void showTableData(String[][] detail){ //设置表格的标题 smTableModel.setColumnNames(colNames); //设置表格的数据 smTableModel.setData(detail); jdbTable1 = new JTable(smTableModel); //设置表格的字体 jdbTable1.setFont(dialog13); //将数据表格加入数据滚动框 tableScrollPane1.getViewport().add(jdbTable1, null); } //单击事件方法 public void actionPerformed(ActionEvent e) { //取得按钮的动作字符串 String actionCommand = e.getActionCommand().trim(); //单击按钮的处理代码 if (actionCommand.equals("search")) { //取得编辑框的变量 String searchValue = jTextField1.getText().trim(); String startDateStr = jTextField2.getText().trim(); String endDateStr = jTextField3.getText().trim(); //创建日期变量 int[] startDateInts = new int[3]; int[] endDateInts = new int[3]; Calendar startCalendar = Calendar.getInstance(); Calendar endCalendar = Calendar.getInstance(); java.sql.Timestamp startDate = null; java.sql.Timestamp endDate = null; //取得查询选项 int selectedIndex = jComboBox1.getSelectedIndex(); if(selectedIndex == 0 | selectedIndex == 1 | selectedIndex == 2){ if(searchValue.length() == 0){ JOptionPane.showMessageDialog(null, "请输入查询值"); return; } switch (selectedIndex) { case 0: //根据程序名字取得记录 userLog = stockManagementData.getUserLogByProgramName(searchValue); break; case 1: //根据操作内容取得记录 userLog = stockManagementData.getUserLogByOperationContent(searchValue); break; case 2: //根据用户名字取得记录 userLog = stockManagementData.getUserLogByUserName(searchValue); break; } //显示表格数据 this.showTableData(userLog); }else{ //检查开始日期字符串 startDateInts = dataMethod.checkDate(startDateStr); if(startDateInts[0] == -1){ JOptionPane.showMessageDialog(null, "开始日期输入错误,正确的日期格式是" + "yyyy-mm-dd(年-月-日),如2004-1-1"); return; } //取得开始日期 startCalendar.set(startDateInts[0], startDateInts[1], startDateInts[2], 0, 0, 0); startDate = new java.sql.Timestamp(startCalendar.getTime().getTime()); //如果结束日期字符为空,显示开始日期至当前日期的记录 if(endDateStr.length() == 0){ endDate = new java.sql.Timestamp(endCalendar.getTime().getTime()); }else{ //检查结束日期字符串 endDateInts = dataMethod.checkDate(endDateStr); if(endDateInts[0] == -1){ JOptionPane.showMessageDialog(null, "结束日期输入错误,正确的日期格式是" + "yyyy-mm-dd(年-月-日),如2004-1-1"); return; } //取得结束日期 endCalendar.set(endDateInts[0], endDateInts[1], endDateInts[2], 23, 59, 59); endDate = new java.sql.Timestamp(endCalendar.getTime().getTime()); } //根据日期取得用户日志记录 userLog = stockManagementData.getUserLogByOperationDate(startDate, endDate); //显示表格数据 this.showTableData(userLog); } }else if (actionCommand.equals("exit")){ exit(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -