GUIプログラミング初心者です。KeyEvent
Java Swing で処理を練習しているときに、 JTextarea
1 つの問題に直面しました。リスナー インターフェイスは、テキスト領域自体によって実装されます。
テキスト領域でキーを押すVK_ENTER
と、テキスト領域からテキストを取得し、そのテキストを に表示しましJTextPane
た。その後、テキスト領域にテキストを空の文字列として設定しました。ここではkeyPressed
キー イベントを使用しました。テキスト エリアに 1 つの新しい行を作成していますが、既にテキスト エリアの行を 0 (ゼロ) に設定しています。
実際には、テキスト領域に 1 行が必要です。テキスト領域に 2 行は必要ありません。この問題を解決するにはどうすればよいですか?
これは私のコードです:
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);
}
}