所以我有一个 JTextPane ,我添加了一个keyListener,就像我知道是否按下了enter按钮一样:
JTextPane textPane = new JTextPane();
textPane.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER){
// add there the code to add a character to the textPane!
}
}
@Override
public void keyReleased(KeyEvent e) {
}
});
但现在我很沮丧,如何在textPane中添加一个字符'}'?
(不是在光标位置之后的任何地方,到下面的......)
答案 0 :(得分:2)
正如@HovercraftFullOfEels上述评论所示,请勿使用KeyListener
收听输入键,而应使用KeyBindings或{{ 3}}。这是来自Hovercraft的DocumentListener使用了Key Bindings,虽然它不是JTextPane
,但你可以从那里采取一般的想法。
要在插入符号位置附加文字,您可以尝试使用文档中的answer:
使用给定字符串表示的新内容替换当前选定的内容。 如果没有选择,则相当于给定文本的插入。如果没有替换文本,则相当于删除当前选择。替换文本将具有当前为插入点处的输入定义的属性。如果文档不可编辑,请发出哔声并返回。