From 099e42c9064fb9692e72cc7f5a3271e012f1cd98 Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Thu, 7 Jun 2012 12:53:16 +0000 Subject: [PATCH] Fixes focusing authentication window fields. --- .../util/swing/AuthenticationWindow.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/net/java/sip/communicator/util/swing/AuthenticationWindow.java b/src/net/java/sip/communicator/util/swing/AuthenticationWindow.java index e7a37b860..539331cc5 100644 --- a/src/net/java/sip/communicator/util/swing/AuthenticationWindow.java +++ b/src/net/java/sip/communicator/util/swing/AuthenticationWindow.java @@ -542,22 +542,35 @@ protected void close(boolean isEscaped) * window. */ @Override - public void setVisible(boolean isVisible) + public void setVisible(final boolean isVisible) { this.setName("AUTHENTICATION"); if(getOwner() != null) setModal(true); - super.setVisible(isVisible); if(isVisible) { - if (uinValue instanceof JTextField && - "".equals(((JTextField) uinValue).getText())) - uinValue.requestFocus(); - else - passwdField.requestFocus(); + addWindowFocusListener(new WindowAdapter() { + public void windowGainedFocus(WindowEvent e) + { + removeWindowFocusListener(this); + if (uinValue instanceof JTextField && + "".equals(((JTextField) uinValue).getText())) + { + uinValue.requestFocusInWindow(); + } + else + passwdField.requestFocusInWindow(); + } + }); + } + + super.setVisible(isVisible); + + if(isVisible) + { if(getOwner() != null) return;