public void actionPerformed(ActionEvent e) { chooser = new JFileChooser(); chooser.setCurrentDirectory(new File("C:\\Program Files (x86)\\Tango04\\Dashboards\\Web")); chooser.setDialogTitle("Browse..."); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); chooser.setAcceptAllFileFilterUsed(false); if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { textArea.setText(""); new Exportator().startExporting(chooser.getSelectedFile().getPath(), textArea); } else { textArea.setText("No Selection"); } }
/** Show the save dialog to save the network file. */ private void saveEvent() { JFileChooser fileSaver = new JFileChooser(inpFile.getParent()); fileSaver.setFileSelectionMode(JFileChooser.FILES_ONLY); fileSaver.setAcceptAllFileFilterUsed(false); fileSaver.addChoosableFileFilter(new XLSXFilter()); fileSaver.addChoosableFileFilter(new XMLFilter()); fileSaver.addChoosableFileFilter(new INPFilter()); fileSaver.showSaveDialog(frame); if (fileSaver.getSelectedFile() == null) return; Network.FileType netType = Network.FileType.INP_FILE; if (fileSaver.getFileFilter() instanceof XLSXFilter) { netType = Network.FileType.EXCEL_FILE; } else if (fileSaver.getFileFilter() instanceof XMLFilter) { netType = Network.FileType.XML_FILE; JOptionPane.showMessageDialog(frame, "Not supported yet !", "Error", JOptionPane.OK_OPTION); return; } OutputComposer compose = OutputComposer.create(netType); String extension = ""; if (Utilities.getFileExtension(fileSaver.getSelectedFile().getName()).equals("")) switch (netType) { case INP_FILE: extension = ".inp"; break; case EXCEL_FILE: extension = ".xlsx"; break; case XML_FILE: extension = ".xml"; break; } try { compose.composer( epanetNetwork, new File(fileSaver.getSelectedFile().getAbsolutePath() + extension)); } catch (ENException e1) { e1.printStackTrace(); } }
public String go() { String r = null; chooser = new JFileChooser(); // chooser.setCurrentDirectory(new java.io.File(".")); chooser.setDialogTitle(choosertitle); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // // disable the "All files" option. // chooser.setAcceptAllFileFilterUsed(false); // if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { // System.out.println("getCurrentDirectory():"+ chooser.getCurrentDirectory()); // System.out.println("getSelectedFile():"+ chooser.getSelectedFile()); r = chooser.getSelectedFile().toString(); } else { // System.out.println("No Selection "); r = "No"; } return (r); }
@Override public void actionPerformed(ActionEvent e) { if (e.getSource() == open) { if (isInProgress()) { systemIsBusy(); return; } checkRunned(); chooser = new JFileChooser(); chooser.setAcceptAllFileFilterUsed(false); chooser.setFileFilter(new InputFileFilter(false)); if (loadedFile != null) chooser.setSelectedFile(loadedFile); int returnValue = chooser.showOpenDialog(this); if (returnValue == JFileChooser.APPROVE_OPTION) { boolean approved = ((InputFileFilter) chooser.getFileFilter()).isFileApproved(chooser.getSelectedFile()); if (approved) { startProgress(); new MultiThread( new Runnable() { public void run() { try { loadedFile = chooser.getSelectedFile(); FileInputStream fis = new FileInputStream(loadedFile); InputParser ip = new InputParser(fis); if (ip.parseInput()) { field = new Field(new ArrayList<Point>(Arrays.asList(ip.getPoints()))); minAlgo.setText(String.valueOf(ip.minimumClusters)); maxAlgo.setText(String.valueOf(ip.maximumClusters)); } } catch (FileNotFoundException e1) { } contentpanel.center(); stopProgress(); } }) .start(); } } } else if (e.getSource() == center) { if (isInProgress()) { systemIsBusy(); return; } startProgress(); new MultiThread( new Runnable() { public void run() { contentpanel.removeMouseWheelListener(contentpanel); contentpanel.center(); contentpanel.addMouseWheelListener(contentpanel); stopProgressRepaint(); } }) .start(); } else if (e.getSource() == save) { if (isInProgress()) { systemIsBusy(); return; } checkRunned(); chooser = new JFileChooser(); chooser.setAcceptAllFileFilterUsed(false); chooser.setFileFilter(new InputFileFilter(true)); if (loadedFile != null) chooser.setSelectedFile(loadedFile); int returnValue = chooser.showSaveDialog(this); if (returnValue == JFileChooser.APPROVE_OPTION) { boolean approved = ((InputFileFilter) chooser.getFileFilter()).isFileApproved(chooser.getSelectedFile()); if (approved) { loadedFile = chooser.getSelectedFile(); boolean halt = loadedFile.exists(); if (halt) { int i = JOptionPane.showInternalConfirmDialog( c, "Are you sure you want to override this file?", "Warning", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); if (i == JOptionPane.YES_OPTION) { halt = false; } } if (!halt) { try { PrintWriter pw = new PrintWriter(new FileWriter(loadedFile)); pw.println("find " + field.getNumberOfClusters() + " clusters"); pw.println(field.size() + " points"); Object[] obj = field.toArray(); for (int i = 0; i < obj.length; i++) { Point p = (Point) obj[i]; pw.println(p.getX() + " " + p.getY()); } pw.close(); } catch (IOException e1) { } } } } } else if (e.getSource() == clear) { if (isInProgress()) { systemIsBusy(); return; } int i = JOptionPane.showInternalConfirmDialog( c, "Are you sure you want to clear the field?", "Warning", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); checkRunned(); if (i == JOptionPane.YES_OPTION) { field = new Field(); updateContentPanel(); } } else if (e.getSource() == circle) { contentpanel.setSelectionMode(ContentPanel.SELECT_CIRCLE); } else if (e.getSource() == square) { contentpanel.setSelectionMode(ContentPanel.SELECT_SQUARE); } else if (e.getSource() == addacluster) { if (isInProgress()) { systemIsBusy(); return; } checkRunned(); contentpanel.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR)); } else if (e.getSource() == addnoise) { if (isInProgress()) { systemIsBusy(); return; } checkRunned(); final String s = JOptionPane.showInternalInputDialog( c, "How many points?", "Add noise", JOptionPane.QUESTION_MESSAGE); startProgress(); new MultiThread( new Runnable() { public void run() { if (s != null) { int number; try { number = Integer.parseInt(s); } catch (Exception ex) { number = 0; } int tillX = 1000000000; int tillY = 1000000000; int addX = 0; int addY = 0; if (inRectangle.isSelected()) { Rectangle r = field.getBoundingRectangle(); if (!(r.x1 == 0 && r.y1 == 0 && r.x2 == 0 && r.y2 == 0)) { tillX = r.x2 - r.x1; addX = r.x1; tillY = r.y2 - r.y1; addY = r.y1; } else { tillX = 500000000; tillY = 500000000; } } for (int i = 0; i < number; i++) { int x = random.nextInt(tillX); x += addX; int y; boolean busy = true; while (busy) { y = random.nextInt(tillY); y += addY; boolean inside = false; Object[] array = field.toArray(); for (int j = 0; j < field.size(); j++) { if (((Point) array[j]).compareTo(x, y)) { inside = true; break; } } if (!inside) { field.add(new Point(x, y)); busy = false; } } } } stopProgress(); } }) .start(); } else if (e.getSource() == run) { if (isInProgress()) { systemIsBusy(); return; } checkRunned(); startProgress(); runAlgo(); } }
public void init() { areaventana = new JPanel(); areabotones = new JPanel(); imagen = new JLabel(""); presentacion = new JButton(imgPlay); siguiente = new JButton(imgSiguiente); atras = new JButton(imgAnterior); ptiempo = new JSlider(); carpeta = new JButton(imgNuevaCarpeta); grid = new JButton(imgGrid); bcomentario = new JButton(imgComentario); zoom = new JButton(imgZoom); /* Agregando los componentes */ areaventana.add(imagen); // areaventana.add(desplazamiento); areabotones.add(grid); areabotones.add(atras); areabotones.add(presentacion); areabotones.add(siguiente); areabotones.add(ptiempo); areabotones.add(carpeta); areabotones.add(bcomentario); areabotones.add(zoom); areabotones.setBackground(colorGris); areaventana.setBackground(colorGris); // desplazamiento.setVisible(false); // areaventana.add(desplazamiento); /* GUI GUI GUI GUI */ presentacion.setBackground(colorGris); atras.setBackground(colorGris); siguiente.setBackground(colorGris); carpeta.setBackground(colorGris); grid.setBackground(colorGris); ptiempo.setBackground(colorGris); bcomentario.setBackground(colorGris); zoom.setBackground(colorGris); presentacion.setPreferredSize(new Dimension(100, 80)); atras.setPreferredSize(new Dimension(100, 80)); siguiente.setPreferredSize(new Dimension(100, 80)); carpeta.setPreferredSize(new Dimension(100, 80)); grid.setPreferredSize(new Dimension(100, 80)); bcomentario.setPreferredSize(new Dimension(100, 80)); zoom.setPreferredSize(new Dimension(100, 80)); grid.setFocusPainted(false); atras.setFocusPainted(false); siguiente.setFocusPainted(false); carpeta.setFocusPainted(false); presentacion.setFocusPainted(false); bcomentario.setFocusPainted(false); zoom.setFocusPainted(false); grid.setBorder(null); atras.setBorder(null); siguiente.setBorder(null); carpeta.setBorder(null); presentacion.setBorder(null); areabotones.setBorder(null); areaventana.setBorder(null); bcomentario.setBorder(null); zoom.setBorder(null); /* GUI GUI GUI GUI */ /* Action Listeners */ siguiente.addActionListener(this); atras.addActionListener(this); presentacion.addActionListener(this); carpeta.addActionListener(this); grid.addActionListener(this); bcomentario.addActionListener(this); zoom.addActionListener(this); this.setLayout(new BorderLayout()); add(areaventana, BorderLayout.CENTER); add(areabotones, BorderLayout.SOUTH); ptiempo.setVisible(false); siguiente.setEnabled(false); atras.setEnabled(false); presentacion.setEnabled(false); grid.setEnabled(false); bcomentario.setEnabled(false); zoom.setEnabled(false); /* Abre el selector desde que inicia el programa */ chooser = new JFileChooser(); chooser.setDialogTitle("Selecciona una imagen..."); chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); chooser.setAcceptAllFileFilterUsed(false); // Abrir archivo es de acá... returnChooser = chooser.showOpenDialog(ArcViewer.this); if (returnChooser == 0) { imagenes = lista.Miranda(chooser, returnChooser); siguiente.setEnabled(true); atras.setEnabled(true); presentacion.setEnabled(true); grid.setEnabled(true); bcomentario.setEnabled(true); zoom.setEnabled(true); for (int asd1 = 0; asd1 < imagenes.size(); asd1++) { imagenesbean.add(new ImagenBean(imagenes.get(asd1), 0, 0)); } String getImgSelected = chooser.getSelectedFile().getPath(); for (int index = 0; index < imagenesbean.size(); index++) { if (getImgSelected.equals(imagenesbean.get(index).getIcon())) { imagen.setIcon(new ImageIcon(imagenesbean.get(index).getIcon())); indexaux = index; } } } else { System.out.println("No Selection"); carpeta.setEnabled(true); } // for (int asd1=0; asd1 < imagenes.size(); asd1++) { // imagenesbean.add(new ImagenBean(imagenes.get(asd1),0,0)); // } // String getImgSelected = chooser.getSelectedFile().getPath(); // for (int index=0; index < imagenesbean.size(); index++) { // if (getImgSelected.equals( imagenesbean.get(index).getIcon() )) { // imagen.setIcon(new ImageIcon(imagenesbean.get(index).getIcon())); // indexaux = index; // } // } }
/** Show the open dialog and open the INP/XLSX and XML files. */ private void openEvent() { if (fileChooser == null) { // fileChooser = new FileDialog(frame); fileChooser = new JFileChooser(System.getProperty("user.dir")); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.addChoosableFileFilter(new XLSXFilter()); fileChooser.addChoosableFileFilter(new XMLFilter()); fileChooser.addChoosableFileFilter(new MSXFilter()); fileChooser.addChoosableFileFilter(new INPFilter()); fileChooser.addChoosableFileFilter(new AllSuportedFilesFilter()); } if (fileChooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) { File netFile = fileChooser.getSelectedFile(); String fileExtension = Utilities.getFileExtension(netFile.getName()); if (fileExtension.equals("xlsx") || fileExtension.equals("inp") || fileExtension.equals("xml")) { inpFile = netFile; msxFile = null; msxName.setText(""); Network.FileType netType = Network.FileType.INP_FILE; if (fileExtension.equals("xlsx")) netType = Network.FileType.EXCEL_FILE; else if (fileExtension.equals("xml")) { netType = Network.FileType.XML_FILE; JOptionPane.showMessageDialog( frame, "Not supported yet !", "Error", JOptionPane.OK_OPTION); return; } epanetNetwork = new Network(); InputParser inpParser = InputParser.create(netType, log); try { inpParser.parse(epanetNetwork, inpFile); } catch (ENException en_ex) { JOptionPane.showMessageDialog( frame, en_ex.toString() + "\nCheck epanet.log for detailed error description", "Error", JOptionPane.OK_OPTION); clearInterface(); inpFile = null; return; } catch (Exception egen) { JOptionPane.showMessageDialog( frame, "Unable to parse network configuration file", "Error", JOptionPane.OK_OPTION); log.log(ENLevels.ERROR, "openEvent", egen); clearInterface(); inpFile = null; return; } int resrvCount = 0; int tanksCount = 0; for (Tank tank : epanetNetwork.getTanks()) if (tank.getArea() == 0.0) resrvCount++; else tanksCount++; textReservoirs.setText(Integer.toString(resrvCount)); textTanks.setText(Integer.toString(tanksCount)); textPipes.setText(Integer.toString(epanetNetwork.getLinks().size())); textNodes.setText(Integer.toString(epanetNetwork.getNodes().size())); try { textDuration.setText( Utilities.getClockTime(epanetNetwork.getPropertiesMap().getDuration())); textUnits.setText(epanetNetwork.getPropertiesMap().getUnitsflag().name()); textHeadloss.setText(epanetNetwork.getPropertiesMap().getFormflag().name()); textQuality.setText(epanetNetwork.getPropertiesMap().getQualflag().name()); textDemand.setText(epanetNetwork.getPropertiesMap().getDmult().toString()); textHydraulic.setText( Utilities.getClockTime(epanetNetwork.getPropertiesMap().getHstep())); textPattern.setText(Utilities.getClockTime(epanetNetwork.getPropertiesMap().getPstep())); } catch (ENException ex) { } frame.setTitle(APP_TITTLE + inpFile.getName()); inpName.setText(inpFile.getName()); runSimulationButton.setEnabled(true); saveButton.setEnabled(true); reportOptions = null; } else if (fileExtension.equals("msx")) { if (inpFile == null) { JOptionPane.showMessageDialog( frame, "Load an INP or XLSX file with network configuration before opening the MSX file.", "Error", JOptionPane.OK_OPTION); return; } msxFile = netFile; msxName.setText(fileChooser.getSelectedFile().getName()); // fileChooser.getFile()); reportOptions = null; } saveAction.setEnabled(true); runAction.setEnabled(true); } }