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

📄 frame1.java

📁 javaGUI编写的人事管理系统(毕业学生答辩可参考)
💻 JAVA
字号:
package project;

import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusAdapter;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.MenuKeyEvent;
import javax.swing.event.MenuKeyListener;
import java.util.ArrayList;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentAdapter;
import java.awt.event.InputMethodEvent;
import java.awt.event.InputMethodListener;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Frame1
    extends JFrame {
  JPanel contentPane;
  BorderLayout borderLayout1 = new BorderLayout();
  JMenuBar jMenuBar1 = new JMenuBar();
  JSplitPane jSplitPane1 = new JSplitPane();
  int privilege_int = -1;
  String userName = null;
  JMenu jMenu1 = new JMenu();
  ArrayList big_Btn = null;
  ArrayList small_Btn = null;
  ContainView ContainView = null;
  Container ct = null;
  JScrollPane jc = null;

  public Frame1() {
    try {
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      jbInit();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  /**
   * Component initialization.
   *
   * @throws java.lang.Exception
   */
  private void jbInit() throws Exception {
    contentPane = (JPanel) getContentPane();
    contentPane.setLayout(borderLayout1);
    this.setJMenuBar(jMenuBar1);
    setSize(new Dimension(1024, 768));
    setTitle("欢迎使用人事管理信息系统");
    this.addComponentListener(new Frame1_this_componentAdapter(this));
    jSplitPane1.setToolTipText("");
    jSplitPane1.setDividerSize(10);
    jSplitPane1.setOneTouchExpandable(true);
    jSplitPane1.addPropertyChangeListener(new
                                          Frame1_jSplitPane1_propertyChangeAdapter(this));
    jMenu1.setFont(new java.awt.Font("宋体", Font.PLAIN, 16));
    jMenu1.setRequestFocusEnabled(false);
    jMenu1.setContentAreaFilled(false);
    jMenu1.setText("登录");
    jMenu1.addMouseListener(new Frame1_jMenu1_mouseAdapter(this));
    contentPane.add(jSplitPane1, java.awt.BorderLayout.CENTER);
    jMenuBar1.add(jMenu1);
    jSplitPane1.setDividerLocation(200);

    String[] label_name = new String[] {
        "信息查询", "员工信息管理", "部门信息管理", "员工考勤管理", "操作员信息管理", "数据库操作"};
    Add_Btn_view[] subBtn = new Add_Btn_view[label_name.length];
    String[] str1 = new String[] {
        "员工信息查询", "部门信息查询", "考勤信息查询"};
    String[] str2 = new String[] {
        "员工信息输入", "员工信息修改", "员工信息删除"};
    String[] str3 = new String[] {
        "部门信息输入", "部门信息修改", "部门信息删除"};
    String[] str4 = new String[] {
        "考勤信息输入", "考勤信息修改", "考勤信息删除", "考勤信息存档"};
    String[] str5 = new String[] {
        "操作员密码修改", "新增操作员", "操作员权限修改", "删除操作员"};
    String[] str6 = new String[] {
        "数据备份"};

    subBtn[0] = new Add_Btn_view(this, str1);
    subBtn[1] = new Add_Btn_view(this, str2);
    subBtn[2] = new Add_Btn_view(this, str3);
    subBtn[3] = new Add_Btn_view(this, str4);
    subBtn[4] = new Add_Btn_view(this, str5);
    subBtn[5] = new Add_Btn_view(this, str6);
    ContainView = new ContainView(this.getHeight(), label_name.length, subBtn,
                                  label_name);
    jSplitPane1.setLeftComponent(ContainView);

    jc = new JScrollPane();

    ct = new Container() {

      public Dimension getPreferredSize() {
        return new Dimension(803, 705);
      }
    };

    ct.setLayout(null);

    jc.getViewport().add(ct);
    jSplitPane1.setRightComponent(jc);

    add_btn_into_arraylist();
    initial_label();
  }

  private void add_btn_into_arraylist() {
    big_Btn = new ArrayList();
    small_Btn = new ArrayList();
    BaseView[] bp = ContainView.get_BaseView();
    int num = bp.length;

    for (int i = 0; i < num; i++) {
      big_Btn.add(bp[i].getlabel());
      JLabel[] jb = ( (Add_Btn_view) bp[i].getAddBtnPanel()).get_label();
      int j = jb.length;
      for (int k = 0; k < j; k++) {
        small_Btn.add(jb[k]);
      }
    }

  }

  public void set_panel(JPanel panel) {
    ct.add(panel);
    this.repaint();
  }

  public void remove_panel() {
    ct.removeAll();
    set_enable_label_normal();
    this.repaint();
  }

  public int get_Container_width() {
    return ct.getWidth();
  }

  public int get_Container_height() {
    return ct.getHeight();
  }

  private void set_enable_label_normal() {
    for (int i = 0; i < small_Btn.size(); i++) {
      if ( ( (JLabel) small_Btn.get(i)).isEnabled()) {
        ( (JLabel) small_Btn.get(i)).setForeground(Color.BLACK);
      }
      ( (JLabel) small_Btn.get(i)).setBackground(SystemColor.control);
    }

  }

  private void initial_label() {

    for (int i = 0; i < small_Btn.size(); i++) {
      ( (JLabel) small_Btn.get(i)).setEnabled(false);
    }
  }

  public void jSplitPane1_propertyChange(PropertyChangeEvent evt) {
    if (jSplitPane1.getDividerLocation() > 200) {
      jSplitPane1.setDividerLocation(200);
    }
    else {
      jSplitPane1.setLastDividerLocation(201);

    }
    resized();
  }

  private void resized() {
    Component[] cps = null;
    if (ct != null) {
      cps = ct.getComponents();
    }
    if (cps != null) {
      for (int i = 0; i < cps.length; i++) {
        cps[i].setLocation( (ct.getWidth() - cps[i].getWidth()) / 2,
                           (ct.getHeight() - cps[i].getHeight()) / 2);
      }
    }

  }
//激活选项
  public void set_privilege_int(int privilege_int) {
    this.privilege_int = privilege_int;
    this.set_label_enable(this.privilege_int);
  }
//根据权限来设置不同的激活方式
  private void set_label_enable(int num) {
    switch (num) {
      case 0:
        for (int i = 0; i < small_Btn.size(); i++) {
          ( (JLabel) small_Btn.get(i)).setEnabled(true);
        }
        break;
      case 1:
        for (int i = 0; i < small_Btn.size() - 3; i++) {
          ( (JLabel) small_Btn.get(i)).setEnabled(true);
        }
        break;
      case 2:
        for (int i = 0; i < small_Btn.size() - 14; i++) {
          ( (JLabel) small_Btn.get(i)).setEnabled(true);
        }
        ( (JLabel) small_Btn.get(13)).setEnabled(true);

        break;
      case -1:
        initial_label();
    }

  }

  public int get_privilege_int() {
    return this.privilege_int;
  }

  public void set_userName(String userName) {
    this.userName = userName;
  }

  public String get_userName() {
    return this.userName;
  }

  public void jMenu1_mouseClicked(MouseEvent e) {
    if (jMenu1.getText().equals("登录")) {
      JDialog Login_View = new Login_View(this, "用户登录", true);
      if (this.privilege_int > -1) {
        jMenu1.setText("注销");
      }
    }
    else {
      JDialog logout = new Logout_View(this, "注销用户", true);
      jMenu1.setText("登录");
    }

  }

  public void this_componentResized(ComponentEvent e) {
    resized();
    this.repaint();
  }

}

class Frame1_jMenu1_mouseAdapter
    extends MouseAdapter {
  private Frame1 adaptee;
  Frame1_jMenu1_mouseAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e) {

    adaptee.jMenu1_mouseClicked(e);
  }
}

class Frame1_jSplitPane1_propertyChangeAdapter
    implements PropertyChangeListener {
  private Frame1 adaptee;
  Frame1_jSplitPane1_propertyChangeAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }

  public void propertyChange(PropertyChangeEvent evt) {
    adaptee.jSplitPane1_propertyChange(evt);
  }
}

class Frame1_this_componentAdapter
    extends ComponentAdapter {
  private Frame1 adaptee;
  Frame1_this_componentAdapter(Frame1 adaptee) {
    this.adaptee = adaptee;
  }

  public void componentResized(ComponentEvent e) {
    adaptee.this_componentResized(e);
  }
}

⌨️ 快捷键说明

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