• 请不要在回答技术问题时复制粘贴 AI 生成的内容
madNeal
V2EX  ›  程序员

问个 javaFX textfield 事件的问题

  •  
  •   madNeal ·
    neal1991 · Nov 3, 2017 · 3975 views
    This topic created in 3119 days ago, the information mentioned may be changed or developed.

    javaFx 里面遇到一个特别坑爹的问题,onInputMethodTextChanged 只能在全角状态下才能触发,但是一旦切换到半角状态就没办法触发了,另外 onKeyTyped 事件只能在半角状态下触发,切换到全角状态就不能触发了。 javaFX 的资料太少了,官方的资料说的也不是很清楚

                                  <TextField fx:id="searchText" layoutX="159.0" layoutY="47.0" onInputMethodTextChanged="#getSearchTextChanged" onKeyTyped="#getKeyTyped" prefHeight="30.0" prefWidth="271.0" />
    
    6 replies    2017-11-05 00:21:00 +08:00
    yidinghe
        1
    yidinghe  
       Nov 4, 2017
    因为半角本来就不在输入法状态下啊。半角输入不会被输入法拦截而是直接发送给控件,全角输入会处于一个被输入法拦截的状态,所以会触发 onInputMethodTextChanged。onKeyTyped 其实不应该用在文本框上,它是用来探测快捷键的。总之不知道楼主想实现什么,这两个事件基本上平常都用不到。
    madNeal
        2
    madNeal  
    OP
       Nov 4, 2017
    @yidinghe 这些事件应该很常用,我想去做一个搜索,做到一个实时搜索,而且最坑的是 onInputMethodTextChanged 虽然在全角状态下可以触发,但是却不能显示出来,这貌似也是 javaFX 的一个 BUG。
    HuHui
        3
    HuHui  
       Nov 4, 2017
    文档确实太少了
    madNeal
        4
    madNeal  
    OP
       Nov 4, 2017 via Android
    都什么年代了,还有这么坑爹的 bug
    yidinghe
        5
    yidinghe  
       Nov 5, 2017 via Android
    @madNeal 你用错事件了,应该侦听文本内容变更 textfield.textproperty().addListener(...)
    yidinghe
        6
    yidinghe  
       Nov 5, 2017
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5519 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 02:35 · PVG 10:35 · LAX 19:35 · JFK 22:35
    ♥ Do have faith in what you're doing.