Example #1
0
    public void actionPerformed(ActionEvent e) {

      if (selComp instanceof MyButton) {
        // ((MyButton) selComp).getAction().actionPerformed(new
        // ActionEvent(e, 0, ""));
        if (selComp == butOK) return;
        ((MyButton) selComp).doClick();
        return;
      }

      if (selComp == text) {
        String u = text.getText();
        File h = new File(u);
        if (!h.exists() || !h.isDirectory()) {
          MyOptionPane.showMessageDialog(
              driver.frame, "File " + u + " either doesn't exist or is not a directory");

          return;
        }
        listHead = u;
        // panel.remove(listView);
        text.setBackground(vLightBlue);
        showList();
        return;
      }
      if (selComp == text2) {
        // fullNodeName = text.getText() + File.separator
        // + text2.getText();
        // if (!saveAs)
        processOK();
      }

      if (!(selComp instanceof JList)) return;

      butNF.setEnabled(!inJarTree);
      butDel.setEnabled(!inJarTree);

      String s = "";

      int rowNo = list.getSelectedIndex();
      if (nodeNames.length == 0) return;
      if (rowNo == -1) return;
      s = nodeNames[rowNo];

      File f = null;

      if (
      /*s.startsWith("JavaFBP") &&*/ s.toLowerCase().endsWith(".jar")) {
        butNF.setEnabled(false);
        butDel.setEnabled(false);
        // if (filter instanceof DrawFBP.JarFileFilter)
        if (fCParms == driver.curDiag.fCPArr[DrawFBP.JARFILE]
            || fCParms == driver.curDiag.fCPArr[DrawFBP.JHALL]) {
          processOK();
          return;
        }

        // jarTree = buildJarFileTree(driver.javaFBPJarFile);
        jarTree = buildJarFileTree(s);
        inJarTree = true;
        butNF.setEnabled(!inJarTree);
        butDel.setEnabled(!inJarTree);
        currentNode = jarTree;
        text2.setText("");

        if (0 >= currentNode.getChildCount()) {
          MyOptionPane.showMessageDialog(driver.frame, "Error in jar file");
          return;
        }

        // listHead = driver.javaFBPJarFile + "!";
        listHead = s + "!";
        text.setText(listHead);
        // panel.remove(listView);
        showList();

      } else if (!inJarTree) {

        if (s.equals("")) f = new File(listHead);
        else {
          // int i = listHead.lastIndexOf("package.json");
          // if (i > -1)
          // listHead = listHead.substring(0, i - 1);
          f = new File(DrawFBP.makeAbsFileName(s, listHead));
        }

        if (!f.exists()) {

          if (!saveAs /* || selComp == text2 && !(text2.equals("")) */) processOK();
          else
            MyOptionPane.showMessageDialog(
                driver.frame, "File/folder does not exist: " + f.getAbsolutePath());
          return;
        }
        if (f.isDirectory() || f.getName().toLowerCase().endsWith("package.json")) {

          listHead = f.getAbsolutePath();
          // showFileNames();

          // panel.remove(listView);
          showList();

        } else
          // if (!saveAs)
          processOK();
      } else { // inJarTree

        currentNode = findChild(currentNode, s);
        if (currentNode == null) return;
        if (currentNode.getChildCount() > 0) listHead = listHead + File.separator + s;
        if (0 < currentNode.getChildCount()) {

          // panel.remove(listView);
          showList();

        } else
          // if (!saveAs)
          processOK();
      }

      // }
      dialog.repaint();
      frame.repaint();
    }