2015-08-24 1 views
3

Когда кнопка закрыта на, я хочу, чтобы в поле пароля отображалось предупреждающее сообщение.Предупреждение о блокировке мыши при наведении курсора мыши на поле пароля

Я нашел ниже фрагмент кода с сайта Vaadin,

@Connect(CapsLockWarning.class) 
public class CapsLockWarningConnector extends AbstractExtensionConnector { 
    @Override 
    protected void extend(ServerConnector target) { 
     final Widget passwordWidget = ((ComponentConnector) target).getWidget(); 

     final VOverlay warning = new VOverlay(); 
     warning.setOwner(passwordWidget); 
     warning.add(new HTML("Caps Lock is enabled!")); 

     passwordWidget.addDomHandler(new KeyPressHandler() { 
      @Override 
      public void onKeyPress(KeyPressEvent event) { 
       if (isEnabled() && isCapsLockOn(event)) { 
        warning.showRelativeTo(passwordWidget); 
       } else { 
        warning.hide(); 
       } 
      } 
     }, KeyPressEvent.getType()); 
    } 

    private boolean isCapsLockOn(KeyPressEvent e) { 
     return e.isShiftKeyDown()^Character.isUpperCase(e.getCharCode()); 
    } 
} 

Но выше кусок кода зависит от нажатием любой клавиши, чтобы определить, является ли CapsLock или нет.

Есть ли способ реализовать эту функцию без нажатия каких-либо клавиш (кроме капсюлей) в ваадине?

Пожалуйста, помогите :(

+0

Любая помощь или советы, пожалуйста ??? – DeepN

ответ

-1

Вы можете использовать getLockingKeyState, чтобы проверить, Caps Lock в настоящее время установлено:

boolean isOn = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK); 

илиsetLockingKeyState не переключает состояние ключа, он устанавливает его. Если вы передадите это правду, он включит состояние ключа независимо от исходного состояния:

Toolkit.getDefaultToolkit().setLockingKeyState(KeyEvent.VK_CAPS_LOCK, true); 
+0

... ваш ответ был совсем другим несколько минут назад ... – Westranger

+0

Да, я признаю свою ошибку, я думал, что ему нужен какой-то код JS. btw спасибо за предупреждение :) –

0

В AW T есть класс Toolkit, который делает работу

import java.awt.Toolkit; 
import java.awt.event.KeyEvent; 

, то вы можете проверить состояние CapsLock

boolean isCapsLockOn = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK); 

 Смежные вопросы

  • Нет связанных вопросов^_^