Frage

Supossing that a JFormattedTextField is enabled and contains a formatter, is there a way to make it readonly? With a JTextField, we just need to suply a custom Document and do all the control there, but with a JFormattedTextField I suppose that things are a little more complicated as we don't want to mess with its document filter. I really need this feature. So, is there a way to achieve this?

UPDATE: Just my opinion, but it seems that the JFormattedTextField is so bad designed in this sense that it leaves no easy solution to this simple problem.

Marcos

War es hilfreich?

Lösung

You can simply use:

JFormattedTextField field = new JFormattedTextField();
// ...
field.setEditable(false);

just like for the JTextField since JFormattedTextField extends JTextField

Check out the javadoc as well.

Andere Tipps

Can't you disable editing by setting isEditable to false?

textfield.setEditable(false);

What about undoing every change that occurs:

JFormattedTextField formattedTextField = new JFormattedTextField("Can't touch this! :)");
formattedTextField.getDocument().addUndoableEditListener(new UndoableEditListener() {
    @Override
    public void undoableEditHappened(UndoableEditEvent e) {
        e.getEdit().undo();
    }
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top