我在网上找到了很多解决方案,但没有一个适合我的问题。我在JFrame
个KeyBoard中,点击后,在另一个JTextField
中的JFrame
中写入。
由于OnClickEvent
中的JText
,就像iphone键盘一样,键盘出现了。
如何将按钮链接到另一帧中的JTextField
?
答案 0 :(得分:1)
首先你的Swing键盘需要知道传递值的位置。为它添加一个JTextComponent字段变量和一个setter:
private JTextComponent textComponent;
JTextComponent是JTextField,JTextArea等的基类......
然后你需要编写一个处理动作的ActionListener:
private class KeyboardActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
try {
JButton key = (JButton) e.getSource();
textComponent.getDocument().insertString(textComponent.getCaretPosition(), key.getText(), null);
} catch (BadLocationException ex) {
Logger.getLogger(KeyboardDialog.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
第三步是将所有按钮添加到该动作侦听器。单击一个按钮时,它将从ActionEvent获取按钮,并将其值插入当前的carret位置。请记住,这不会处理功能键。为此,请查看JTextComponent。