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