DevFaqOpenReadOnly
How can I open a file in the editor in read-only mode?
You will need to make a special file editor which refuses to take a write lock:
public final class ROEditor extends DataEditorSupport { private ROEditor(DataObject d) { super(d, new E(d)); } public ROEditor(FileObject fo) throws DataObjectNotFoundException { this(DataObject.find(fo)); } private static final class E extends DataEditorSupport.Env { public E(DataObject d) { super(d); } protected FileObject getFile() { return getDataObject().getPrimaryFile(); } protected FileLock takeLock() throws IOException { throw new IOException("No way!"); } } }
Demo of usage:
JFileChooser jfc = new JFileChooser(); if (jfc.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) { return; } File f = jfc.getSelectedFile(); FileObject fo = FileUtil.toFileObject(f); try { new ROEditor(fo).open(); } catch (DataObjectNotFoundException e) { e.printStackTrace(); }
Applies to: NetBeans 4.0 and newer