我是 GUI 编程新手。在练习KeyEvent
Java Swing 处理时,JTextarea
我遇到了一个问题。侦听器接口由文本区域本身实现。
当我VK_ENTER
在文本区域中按下键时,我从文本区域获取文本,然后将该文本显示到JTextPane
. 之后,我将文本设置为文本区域上的空字符串。在这里,我使用keyPressed
了关键事件 - 它在文本区域中创建了一个新行,但我已经将文本区域行设置为 0(零)。
实际上我想要文本区域中的一行我不想要文本区域中的两行,如何解决这个问题?
这是我的代码:
public void keyPressed(KeyEvent evt) {
try {
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
if (evt.isShiftDown()) {
textArea .setText(textArea.getText() + "\n");
} else {
inputMsg = textArea.getText().trim();
textArea.setText(EMPTYSTRING);
if (!inputMsg.equals(EMPTYSTRING)) {
textPane.setText(inputMsg);
}
textArea.requestFocus();
}
}
} catch (Exception ex) {
logger.log(Level.SEVERE, "Exception in textArea.keyReleased() : ", ex);
}
}