How can I open a file in the editor in read-only mode?

Apache NetBeans Wiki Index

Note: These pages are being reviewed.

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 {
    private static final class E extends DataEditorSupport.Env {
        public E(DataObject 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) {
File f = jfc.getSelectedFile();
FileObject fo = FileUtil.toFileObject(f);
try {
    new ROEditor(fo).open();
} catch (DataObjectNotFoundException e) {

Applies to: NetBeans 4.0 and newer