【发布时间】:2018-05-24 08:47:10
【问题描述】:
对于嵌入式 kiosk 系统,我需要一个弹出式键盘,就像在每个 android 智能手机中一样。如果有人单击文本字段,则会显示弹出键盘,如果有人单击其他点作为文本字段,则弹出键盘将隐藏。 我已经意识到弹出键盘:
public Keyboard() {
super("pop-up keyboard");
setDefaultCloseOperation(EXIT_ON_CLOSE);
txt = new JTextField(20);
keyboard = new PopUpKeyboard(txt);
txt.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Point p = txt.getLocationOnScreen();
p.y += 30;
keyboard.setLocation(p);
keyboard.setVisible(true);
}
});
如果我点击文本字段,键盘会打开。但是现在我不知道如果文本字段上的焦点丢失了如何隐藏键盘。这个我试过了,还是不行:
txt.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
//
}
@Override
public void focusLost(FocusEvent e) {
keyboard.setVisible(false);
}
});
有人知道如何隐藏键盘吗?
感谢您的帮助!
【问题讨论】:
-
请提供minimal reproducible example,以便我们也可以了解您的代码中的问题并为您提出问题建议。也请看this topic。可能它可以帮助您找到解决方案。