![]() |
1
1
这并不是一个完整的答案,而是一个讨论的开始,我不知道有什么现成的小部件可以做到这一点。 我的第一个想法是继承swt文本小部件并重写setEchoChar等,但在查看代码之后,这似乎并不真正可行,因为此方法只是一个包装:
如果有人知道操作系统特定的低级实现,那可能会有帮助。 无论如何,换一种方式。我会避开keylister并在文本小部件上使用ModifyListener。
然后,您可以构建一个包装器,使用此侦听器捕获输入的文本,将其附加到本地保存的string/stringbuffer(或例如Eclipse Preferencestore)中,并使用setText(string s)将修改后的全文发送到文本小部件,将除最后一个字符以外的所有字符替换为echo字符(例如*)。
这有点古怪,但应该行得通。 不那么直接的一点是1秒计时,没有拖延整个视图。。。 |
![]() |
2
1
根据朱尔斯的说法,下面的代码是某种工作。 代码是快速的,我想有一个更线程安全的解决方案。
键事件被缓存,因此您可以添加更多字符,也可以在线程等待时添加。 另一个问题是光标处理。设置文本时,光标始终移动到第一个位置。 我认为,当这是工作时,它是非常接近iphone的解决方案。 |
|
Jonathan Rada · 使用jbutton设置值,然后确认值? 6 年前 |
![]() |
Molay · 不会为每个发布()调用SwingWorker进程() 6 年前 |
![]() |
Lakshya Munjal · Java中的Onclick事件 6 年前 |
![]() |
Denny Williams · 如何获得鼠标移动之间的时间? 6 年前 |
![]() |
alexanoid · 旋转BuffereImage并移除黑色边界 7 年前 |
![]() |
Vincent · 显示内容错误charles(awt?) 7 年前 |