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

📄 mainfrm.java

📁 对2000元以上的资产管理
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    jMenuBar1.add(jMenu5);
    jMenuFile.add(jMenuFileExit);
    jMenuFile.add(jMenuItem1);
    jMenuFile.add(jMenuItem2);
    jMenuBar1.add(jMenuHelp);
    jMenuHelp.add(jMenuHelpAbout);
    jMenuHelp.add(jMenuItem10);
    setJMenuBar(jMenuBar1);
    jButton1.setIcon(image1);
    jButton1.setToolTipText("数据导出");
    jButton2.setIcon(image2);
    jButton2.setToolTipText("切换用户");
    jButton3.setIcon(image3);
    jButton3.setToolTipText("帮助");
    jToolBar.add(jButton1);
    jToolBar.add(jButton2);
    jToolBar.add(jButton3);
    jToolBar.add(jButton9);
    contentPane.add(mainPnl, java.awt.BorderLayout.CENTER);
    mainPnl.add(jPanel2, java.awt.BorderLayout.NORTH);
    jPanel2.add(jLabel3);
    jPanel2.add(jtfAssetId);
    jPanel2.add(jLabel4);
    jPanel2.add(jtfAssetName);
    jcbType.addItem("请选择查询类型");
    jcbType.addItem("基本信息");
    jcbType.addItem("借用记录");
    jPanel2.add(jcbType);
    jPanel2.add(jButton4);
    mainPnl.add(jPanel3, java.awt.BorderLayout.CENTER);
    jPanel3.add(jSplitPane1);
    jSplitPane1.add(jScrollPane2, JSplitPane.LEFT);
    jSplitPane1.add(jPanel4, JSplitPane.RIGHT);
    jScrollPane2.getViewport().add(jTree1);

    // lblTime 显示动态时间
    ShowTimer myTimer = new ShowTimer();
    myTimer.setLabel(lblTime);
    Timer timer = new Timer();
    timer.schedule(myTimer, 0, 1000); //每隔一秒更换时间显示
    //========

    jMenu2.add(jMenuItem3);
    jMenu2.add(jMenuItem4);
    jMenu2.add(jMenuItem5);
    jMenu3.add(jMenuItem11);
    jMenu3.add(jMenuItem6);
    jMenu3.addSeparator();
    jMenu3.add(jMenuItem7);
    jMenu4.add(jMenuItem8);
    jMenu4.add(jMenuItem9);
    contentPane.add(jPanel1, java.awt.BorderLayout.SOUTH);
    jPanel4.add(jScrollPane1, java.awt.BorderLayout.CENTER);
    jScrollPane1.getViewport().add(jTable1);
    jPanel4.add(jPanel5, java.awt.BorderLayout.SOUTH);
    jPanel5.add(jButton6);
    jPanel5.add(jButton5);
    jPanel5.add(jButton7);
    jPanel5.add(jButton8);
    contentPane.add(jToolBar, java.awt.BorderLayout.NORTH);
    jPanel1.add(lblOperator, java.awt.BorderLayout.WEST);
    jPanel1.add(lblTime, java.awt.BorderLayout.EAST);
    jPopupMenu1.add(jMenuItem17);
    jPopupMenu1.add(jMenuItem18);
    jPopupMenu1.addSeparator();
    jPopupMenu1.add(jMenuItem12);
    jPopupMenu1.add(jMenuItem13);
    jPopupMenu1.addSeparator();
    jPopupMenu1.add(jMenuItem14);
    jPopupMenu1.addSeparator();
    jPopupMenu1.add(jRadioButtonMenuItem1);
    jRadioButtonMenuItem2.setSelected(true);
    jPopupMenu1.add(jRadioButtonMenuItem2);
    jMenu5.add(jMenu6);
    jMenu5.add(jMenu7);
    jMenu7.add(cbm1);
    jMenu7.add(cbm2);
    jMenu7.add(cbm3);
    jMenu7.add(cbm4);
    jMenu7.add(cbm5);
    jMenu7.add(cbm6);
    jPopupMenu2.add(jMenuItem15);
    jPopupMenu2.add(jMenuItem16);
    jPopupMenu2.addSeparator();
    jPopupMenu2.add(jMenuItem23);
    jPopupMenu2.addSeparator();
    jPopupMenu2.add(jMenuItem19);
    jMenu6.add(jMenuItem20);
    jMenu6.add(jMenuItem21);
    jMenu6.add(jMenuItem22);
    jSplitPane1.setDividerLocation(120);
    initTree(); //初始化jTree1对象

  }

  void expendNoes() { //展开树的节点
    for (int i = 0; i < this.jTree1.getRowCount(); i++) {
      this.jTree1.expandRow(i);
    }
  }

  /**
   * 初始化树形结构的方法
   */
  void initTree() {
    DefaultMutableTreeNode cateNode = new DefaultMutableTreeNode("资产类别");
    CategoryDAO cateDao = new CategoryDAO();
    List bigList = cateDao.getAllBigCategory(); //获得所有大类的集合
    for (int i = 0; i < bigList.size(); i++) { //循环遍历大类集中中每个类别(注意嵌套循环的作用)
      Category bigCate = (Category) bigList.get(i); //将集合中的Object还原成Category对象
      //新建节点对象,并将bigCate对象作为参数传入构造方法,该节点上将会显示类别的名称
      DefaultMutableTreeNode parentNode = new DefaultMutableTreeNode(bigCate);
      //通过大类的编号获取该大类下所有小类的集合
      List smallList = cateDao.getSmallCategoryByBigCateId(bigCate.getCateId());
      for (int j = 0; j < smallList.size(); j++) { //循环遍历该大类下小类的集合
        Category smallCate = (Category) smallList.get(j);
        DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(smallCate);
        parentNode.add(childNode); //将childNode加入到parentNode—即将所有小类加入到该大类节点下
      } //内循环结束
      cateNode.add(parentNode); //将所有的大类节点加入到cateNode节点
    } //外循环结束
    root.add(cateNode); //将cateNode节点加入到root(根节点)节点
    //以下代码实例了及格固定节点并组织在一起,形成最终的树形结构
    DefaultMutableTreeNode useNode = new DefaultMutableTreeNode("使用情况");
    DefaultMutableTreeNode onUseNode = new DefaultMutableTreeNode("使用中");
    DefaultMutableTreeNode noUseNode = new DefaultMutableTreeNode("空闲中");
    useNode.add(onUseNode);
    useNode.add(noUseNode);
    root.add(useNode); //加入到根节点
    this.expendNoes(); //展开树
  }

  //该方法用来重置树
  public void resetTree() {
    DefaultMutableTreeNode node2 = (DefaultMutableTreeNode) mode.getRoot();
    node2.removeAllChildren();
    mode.reload();
    initTree();
  }

  /**
   * File | Exit action performed.
   *
   * @param actionEvent ActionEvent
   */
  void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
    /*
     * 新建添加资产对话框,构造方法中三个参数的意思
     * this:代表当前窗口本身
     * 添加资产:弹出对话框的标题
     * true:弹出的窗口为模式窗口(必须关掉它才能点击其它窗口)
     * 其它的菜单弹出窗口可参照该实现方式
     */
    AddAssetDlg addAssetDlg = new AddAssetDlg(this, "添加资产", true);
    addAssetDlg.setSize(580, 430); //设置窗口的大小
    JuZhong.showDialog(addAssetDlg, 580, 430); //设置窗口居中及显示
  }

  /**
   * Help | About action performed.
   *
   * @param actionEvent ActionEvent
   */
  void jMenuHelpAbout_actionPerformed(ActionEvent actionEvent) {
    String cmd = "rundll32 url.dll,FileProtocolHandler help/help.chm";
    try {
      Runtime.getRuntime().exec(cmd);
    }
    catch (IOException ex) {
      ex.printStackTrace();
    }
  }

  /**
   * jTree1点击事件处理程序
   * 效果:点击某个节点,主界面中将显示对应的数据
   * @param treeSelectionEvent TreeSelectionEvent
   */
  public void jTree1_valueChanged(TreeSelectionEvent treeSelectionEvent) {
    /*
     * 该方法只实现了对“使用情况”的查询
     * 根据资产类别查询没有实现(大部分),代码也许还要做改变,请自行完成
     * 注意判断节点类型
     */
    VIEWTYPE=1;
    AssetDAO assetDao = new AssetDAO();
    DefaultMutableTreeNode node = (DefaultMutableTreeNode) jTree1.
        getLastSelectedPathComponent(); //取得选中的节点对象
    if (node != null) {
      DataManager.PAGENUMBER = 1; //重置页数为1,代表重新查询结果应从第一页开始显示

      //点击资资类别查询出所有信息
      if (node.toString().equals("资产类别")) {
        VIEWTYPE = 1;
        DataManager.assetList = assetDao.loadAllAsset(2); //查询所有资信息传入不为0或1的值查所有
        DataManager.resetAssetIntoTable(model); //重置表格的数据
      }
      //是叶节点时,并且是不使用情况子节点时,按大类编号和小类编号查询
      else
      if (node.isLeaf() && !node.getParent().toString().equals("使用情况") &&
          !node.getParent().toString().equals("资产类别")) {
        int subcateid = ( (Category) node.getUserObject()).getCateId(); //获取小类ID
        node = (DefaultMutableTreeNode) node.getParent(); //获取小类的父类
        int cateid = ( (Category) node.getUserObject()).getCateId(); //获取大类ID
        DataManager.assetList = assetDao.loadBySubcateId(cateid, subcateid); //根据大类编号和小类编号查询资产
        DataManager.resetAssetIntoTable(model); //重置表格的数据
      } //按大类编号查询
      else
      if (!node.isRoot() && node.getParent().toString().equals("资产类别")) {
        int cateid = ( (Category) node.getUserObject()).getCateId(); //取的大类编号
        DataManager.assetList = assetDao.loadByCateId(cateid);
        DataManager.resetAssetIntoTable(model); //重置表格的数据
      }
      else if (node != null && !node.isRoot() && !node.toString().equals("使用情况")) { //点击根节点不显示数据
        if ("使用情况".equals(node.getParent().toString())) { //按使用情况显示数据
          VIEWTYPE = 2;
          if (node.toString().equals("空闲中")) {
            DataManager.assetList = assetDao.loadByUse(0); //为assetList赋值
          }
          else {
            DataManager.assetList = assetDao.loadByUse(1); //查询已借出资产信息集合
          }
          DataManager.resetAssetIntoTable(model); //重置表格的数据
        }
      }
      /**
       * 用来根据页数设置页数控钮
       */
      int p = DataManager.PAGENUMBER;
      int c = DataManager.PAGECOUNT;
      if (DataManager.PAGENUMBER == 1) {
        jMenuItem17.setEnabled(false);
        jMenuItem5.setEnabled(false);
        jMenuItem6.setEnabled(false);
      }
      else {
        jMenuItem17.setEnabled(true);
        jMenuItem5.setEnabled(true);
        jMenuItem6.setEnabled(true);
      }
      if (p == c) {
        jMenuItem18.setEnabled(false);
        jButton8.setEnabled(false);
        jButton7.setEnabled(false);
      }
      else {
        jMenuItem18.setEnabled(true);
        jButton8.setEnabled(true);
        jButton7.setEnabled(true);
      }
    }
  }

  /**
   * 点击查询按钮处理事件
   */
  public void jButton4_actionPerformed(ActionEvent actionEvent) {
    //获取查询文本框中的值
    int assetId = 0;
    VIEWTYPE=2;
    try {
      assetId = Integer.parseInt(jtfAssetId.getText().trim());
    }
    catch (NumberFormatException ex) {
      assetId = 0;
    }
    DataManager.PAGENUMBER = 1; //重置页数
    String assetName = jtfAssetName.getText().trim();
    //获取查询类型
    int type = jcbType.getSelectedIndex(); //0和1--查询基本信息,2--查询借用信息
    if (type != 2) {
      AssetDAO assetDao = new AssetDAO();
      if (assetId != 0) { //按资产编号显示数据
        DataManager.assetList = assetDao.loadById(assetId); ;
      }
      else { //按资产名称(模糊查询)显示数据
        DataManager.assetList = assetDao.loadByName(assetName);
      }
      DataManager.resetAssetIntoTable(model); //重置表格数据
    }
    else { //查询指定编号资产的借用记录,请自行完成
      LendRecordDAO lendrecordDao = new LendRecordDAO();
      if (assetId == 0) {
        DataManager.lendList = lendrecordDao.loadAll(2); //查询所有借用记录
        DataManager.resetLendIntoTable(model);
        return;
      }
      DataManager.lendList = lendrecordDao.loadRecordByAssetId(assetId); ; //查询指定资产编号的借用记录
      DataManager.resetLendIntoTable(model);
    }
  }

  public void jcbType_actionPerformed(ActionEvent actionEvent) {
    int index = jcbType.getSelectedIndex();
    if (index == 2) { //查询借用记录只能通过编号查询,所以将名称框禁用
      this.jtfAssetName.setEnabled(false);
    }
    else {
      this.jtfAssetName.setEnabled(true);
    }
  }

  /**
   * 添加用户
   * @param e ActionEvent
   */
  public void jMenuItem11_actionPerformed(ActionEvent e) {
    UserManage userManage = new UserManage(this, "添加用户", true);
    userManage.setSize(400, 320);
    userManage.setResizable(false);
    JuZhong.showDialog(userManage, 400, 320);
  }

  /**
   * 更改密码
   * @param e ActionEvent
   */
  public void jMenuItem6_actionPerformed(ActionEvent e) {
    ChangePwd changePwd = new ChangePwd(this, "更改密码", true);
    changePwd.setSize(400, 380);
    changePwd.setResizable(false);
    JuZhong.showDialog(changePwd, 400, 380);
  }

  /**
   * 借用资产
   * @param e ActionEvent
   */
  public void jMenuItem8_actionPerformed(ActionEvent e) { //菜单点击,弹出借用资产对话框
    JieYongZhiChanDlg jieYongDlg = new JieYongZhiChanDlg(this, "借用资产", true);
    JuZhong.showDialog(jieYongDlg, 500, 360);
  }

  /**
   * 右键菜单
   * @param e MouseEvent
   */
  public void jTable1_mouseClicked(MouseEvent e) { //表格鼠标点击事件
    if (e.getButton() == 3) { //断判鼠标是否单击了右键
      int p = DataManager.PAGENUMBER;
      int c = DataManager.PAGECOUNT;
      if (DataManager.PAGENUMBER == 1) {
        jMenuItem17.setEnabled(false);
        jMenuItem5.setEnabled(false);
        jMenuItem6.setEnabled(false);
      }
      else {
        jMenuItem17.setEnabled(true);
        jMenuItem5.setEnabled(true);
        jMenuItem6.setEnabled(true);
      }
      if (p == c) {
        jMenuItem18.setEnabled(false);
        jButton8.setEnabled(false);
        jButton7.setEnabled(false);
      }
      else {
        jMenuItem18.setEnabled(true);
        jButton8.setEnabled(true);
        jButton7.setEnabled(true);
      }
      this.jPopupMenu1.show(jTable1, e.getX(), e.getY()); //在表格里显示右键菜单,设置显示坐标为,获取鼠标的X,Y坐标
    }
  }

  public void jRadioButtonMenuItem1_actionPerformed(ActionEvent e) { //右键菜单的锁定选项
    if (jRadioButtonMenuItem1.isSelected()) { //断判锁定按钮是否选中
      jTable1.setEnabled(false); //设置表格是否可编辑
      this.jMenuItem13.setEnabled(false);
      this.jMenuItem14.setEnabled(false);
    }
    else {
      jTable1.setEnabled(true);
      this.jMenuItem13.setEnabled(true);
      this.jMenuItem14.setEnabled(true);
    }
  }

  public void jRadioButtonMenuItem2_actionPerformed(ActionEvent e) { //右键菜单的解锁选项
    if (jRadioButtonMenuItem2.isSelected()) { //断判解锁按钮是否选中
      jTable1.setEnabled(true); //设置表格是否可编辑
      this.jMenuItem13.setEnabled(true);
      this.jMenuItem14.setEnabled(true);
    }
    else {

⌨️ 快捷键说明

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