我正在实现JTextField的专用版本,并希望将其打包到自己的bean中。到目前为止,这个bean工作得很好。这是我的问题:在Java中为JTextField显示事件?
如何检测何时显示JTextField?这样我就可以在每次显示字段时启动一些图形化的东西。
ShowComponent事件不适用于我。 FocusGained和FocusLost工作得很好。
希望有人知道解决这个问题。
我正在实现JTextField的专用版本,并希望将其打包到自己的bean中。到目前为止,这个bean工作得很好。这是我的问题:在Java中为JTextField显示事件?
如何检测何时显示JTextField?这样我就可以在每次显示字段时启动一些图形化的东西。
ShowComponent事件不适用于我。 FocusGained和FocusLost工作得很好。
希望有人知道解决这个问题。
你可以使用isShowing()方法吗? http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#isShowing%28%29
虽然使用ComponentListener并在其组件中执行某些东西,但直观地看起来是一种方式,它并没有帮助:它在组件的可见属性发生更改时触发。该属性默认为true(即使尚未添加到显示在屏幕上的任何容器中),因此没有在显示时触发。
相反,使用AncestorListener并执行祖先添加所需的操作。
或addComponentListener(...)来跟踪可见性变化 – alex 2012-02-09 00:14:18
@alex - 通常不会帮助:当可见属性的状态更改时会触发componentEvent。由于该属性默认为true,所以在我们直觉地期望它时不会被解雇:-) – kleopatra 2012-02-10 10:32:16
非常感谢您的快速回复! – salocinx 2012-02-15 20:11:12