1

我们有一个应用程序可以在几乎任何应用程序、win32、浏览器、终端,甚至 eclipse 使用的 SWT 上屏蔽数字,但 Swing 是另一个问题。

对于这个问题,假设我是 JVM 的一部分,并且我刚刚在类路径中插入了我的 jar,并且我是调用其他人的主程序的主程序,因此我可以访问 JVM 中我需要的所有内容,但我没有写使用这些 JTextField 的原始应用程序!!!!

如果一个应用程序有一个 JTextField,我该如何修改它以便它仍然存储我设置的数字并对其进行屏蔽,以便它像 JPasswordField 一样显示但仍然具有原始应用程序编写者编写的所有侦听器。此外,当他们单击“确定”按钮或“下一步”按钮或“提交”按钮时,应该应用我新屏蔽的字段,就像它是旧的 JTextField 一样,没有任何改变。

谢谢,院长

4

2 回答 2

3

如果你想做这样的事情,这意味着你有改变应用程序的权限和可能性。在这种情况下,只需替换JTextFieldJPasswordField. 它会隐藏字符,这正是你所追求的。

此外,您不必担心文本字段上的侦听器或方法调用:它们仍然可以工作,因为JPasswordField它是JTextField.

于 2012-06-13T23:04:31.873 回答
0

不幸的是,在我的情况下,另一个答案不起作用,因为我无权更改应用程序,因为它不是我的……但是,尽管原始 jdk 类很棘手,但我可以通过字节码更改应用程序。我可以在类路径中获取我的 jar,并且可以在程序启动之前让我的 jar 运行。我可以为 win32 应用程序执行此操作,但不幸的是,对于 java 应用程序来说这非常困难。

于 2012-09-06T12:45:08.120 回答