protected void save(String text) { String title = "Save " + textType + " File"; TextFileFilter fileFilter = getTextFileFilter(textType); chooser.setFileFilter(fileFilter); if (chooser.showSaveDialog(editor.getFrame()) == JFileChooser.APPROVE_OPTION) { String name = chooser.getSelectedFile().toString(); if (!name.endsWith(fileFilter.getExtension())) { name = name + "." + fileFilter.getExtension(); } try { editor.getFrame().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); FileOutputStream fos = new FileOutputStream(new File(name)); fos.write(text.getBytes()); fos.close(); JOptionPane.showMessageDialog( editor.getFrame(), textType + " saved successfully to " + name, title, JOptionPane.INFORMATION_MESSAGE); } catch (Exception ex) { Logger.getLogger(FileMenuAction.class.getName()).log(Level.SEVERE, null, ex); ExceptionHandler.handleException(ex); return; } finally { editor.getFrame().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } } }
public boolean doFilters(String line) { if (filters == null) return true; boolean filterOK = true; // if false: skip this row for (int f = 0; f < filters.length && filterOK; f++) { TextFileFilter filter = filters[f]; if (filter.getFilterString() != null && filter.getFilterString().length() > 0) { int from = filter.getFilterPosition(); if (from >= 0) { int to = from + filter.getFilterString().length(); if (line.length() >= from && line.length() >= to) { String sub = line.substring(filter.getFilterPosition(), to); if (sub.equalsIgnoreCase(filter.getFilterString())) { filterOK = false; // skip this one! } } } else // anywhere on the line { int idx = line.indexOf(filter.getFilterString()); if (idx >= 0) { filterOK = false; } } if (!filterOK) { boolean isFilterLastLine = filter.isFilterLastLine(); if (isFilterLastLine) { stopProcessing = true; } } } } return filterOK; }