Reputation: 1265
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
Upvotes: 0
Views: 251
Reputation: 1128
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();
}
});
Upvotes: 1
Reputation: 47607
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.
Upvotes: 1