JFormattedTextField に問題があります。つまり、非上書きモードのままにしています。上書きしないように設定する方法、つまり setOverwriteMode(false) を使用する方法を見つけました。
ただし、この関数を使用すると上書きせずにフィールドに入力できますが、フォーカスが失われ、フィールドに再度入力すると、overWriteMode が再びオンになります。
overWriteMode を false に保つ方法はありますか? フォーカスを失うたびに false に設定しないソリューションを希望しますが、それが唯一の解決策である場合は、そうしてください。
これは私が今持っているものです:
DefaultFormatter format = new DefaultFormatter();
format.setOverwriteMode(false);
inputField = new JFormattedTextField();
inputField.setValue("don't overwrite this!");
inputField.setColumns(20);
format.install(inputField);// This does the trick only the first time I enter the field!
誰かが私を助けてくれることを願っています!
ロビンが提案した解決策:
DefaultFormatter format = new DefaultFormatter();
format.setOverwriteMode(false);
inputField = new JFormattedTextField(format); // put the formatter in the constructor
inputField.setValue("don't overtype this!");
inputField.setColumns(20);
助けてくれてありがとう!よろしく