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(); }