Hi,

(This is my first post here, hope I'm following the right path)

It seems JavaFX TextFields (and friends) do not automatically convert
<dead key>+<space> into simply <dead key character>. They make it into
<dead key character>+<space>, which is very atypical. I would consider
this behavior a bug, since it is different from any editor I know (and
makes it very hard to enter a dead key character on its own). We ran
into this with Java 8, I also reproduced it with openjdk 21 + openjfx
23.

For instance if in a JavaFX TextField I type a '^' keystroke, it waits
for the next keystroke (which is normal since it's a dead key,
possibly followed by a character on which to put the '^'). But if I
then type <space> I expect a simple '^' to appear. Instead, in JavaFX,
'^ ' appears. This does not happen in Swing, nor in any editor or
shell or ...

Background context: a user of our JavaFX application couldn't
authenticate with their password (typed in a PasswordField). After an
awful lot of troubleshooting we found that they used a '^' in their
password. Of course the user didn't notice that after typing ^+space
two dots appeared in the PasswordField. Now that user knows they have
to backspace after typing ^+space ...

I suppose inserting a Swing JPasswordField in our JavaFX app would
work around this issue, but ... isn't there a better solution?
Shouldn't this be regarded as a bug?

-- 
Johan

Reply via email to