On Wed, 26 Jul 2023 03:27:41 GMT, Prasanta Sadhukhan <[email protected]> wrote:
>> When a JFormattedTextField field value is set by setText, then when the >> field initially gains focus it seems to not use the edit formatter, but >> rather use display formatter, which is wrong. >> Native "Date and Time setting" in windows changes the date field to edit >> mode in initial focus itself. >> Fix is made to treat setText as in edit mode and commit the changes made to >> it. > > Prasanta Sadhukhan has updated the pull request incrementally with one > additional commit since the last revision: > > setDocument and test fix I wonder what happens if `setText` is called with a value that cannot be interpreted by the current formatter and how it plays with different policies on focus lost as outlined in [the javadoc](https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/JFormattedTextField.html). src/java.desktop/share/classes/javax/swing/JFormattedTextField.java line 746: > 744: //do nothing, we assume this will never happen. > 745: } > 746: } Since the same piece of code is needed in two different methods, it should be moved into a new helper method. It avoids duplication and therefore possible inconsistency because only one place is updated. test/jdk/javax/swing/JFormattedTextField/JFormattedTextProblem.java line 36: > 34: import java.awt.event.KeyEvent; > 35: import java.beans.PropertyChangeEvent; > 36: import java.beans.PropertyChangeListener; Could you sort the imports and remove the unused ones? test/jdk/javax/swing/JFormattedTextField/JFormattedTextProblem.java line 51: > 49: import java.text.SimpleDateFormat; > 50: > 51: public class JFormattedTextProblem { Should we use a more descriptive name for the test class? test/jdk/javax/swing/JFormattedTextField/JFormattedTextProblem.java line 101: > 99: > 100: DateFormat displayTime = > DateFormat.getTimeInstance(DateFormat.MEDIUM); > 101: SimpleDateFormat editTime = new SimpleDateFormat("HH:mm"); These two variables are unused, should we remove them? ------------- Changes requested by aivanov (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/14993#pullrequestreview-1552508827 PR Review Comment: https://git.openjdk.org/jdk/pull/14993#discussion_r1277786500 PR Review Comment: https://git.openjdk.org/jdk/pull/14993#discussion_r1278001641 PR Review Comment: https://git.openjdk.org/jdk/pull/14993#discussion_r1278016892 PR Review Comment: https://git.openjdk.org/jdk/pull/14993#discussion_r1278000797
