2

GUIプログラミング初心者です。KeyEventJava Swing で処理を練習しているときに、 JTextarea1 つの問題に直面しました。リスナー インターフェイスは、テキスト領域自体によって実装されます。

テキスト領域でキーを押す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);
     }
}
4

2 に答える 2