2012-02-08 27 views
5

我正在实现JTextField的专用版本,并希望将其打包到自己的bean中。到目前为止,这个bean工作得很好。这是我的问题:在Java中为JTextField显示事件?

如何检测何时显示JTextField?这样我就可以在每次显示字段时启动一些图形化的东西。

ShowComponent事件不适用于我。 FocusGained和FocusLost工作得很好。

希望有人知道解决这个问题。

回答

4
+0

或addComponentListener(...)来跟踪可见性变化 – alex 2012-02-09 00:14:18

+0

@alex - 通常不会帮助:当可见属性的状态更改时会触发componentEvent。由于该属性默认为true,所以在我们直觉地期望它时不会被解雇:-) – kleopatra 2012-02-10 10:32:16

+0

非常感谢您的快速回复! – salocinx 2012-02-15 20:11:12

2

虽然使用ComponentListener并在其组件中执行某些东西,但直观地看起来是一种方式,它并没有帮助:它在组件的可见属性发生更改时触发。该属性默认为true(即使尚未添加到显示在屏幕上的任何容器中),因此没有在显示时触发。

相反,使用AncestorListener并执行祖先添加所需的操作。

+0

+1不包括--->请问,为什么你在这个世界上的理由添加祖先给J(格式化)TextField – mKorbel 2012-02-10 11:46:14

+0

@mKorbel不明白你的意思:这个问题(据我所知,可能是错误的)是要显示字段时通知(又名:添加) – kleopatra 2012-02-10 12:28:16

+0

嗯谢谢,我已经尝试过将J(格式化)的TextField添加到un_visible容器之前,然后显示此容器 – mKorbel 2012-02-10 12:37:23