JTextArea を次のように定義しました。
JTextArea textArea = new JTextArea();
textArea.setText("Some text");
textArea.setEditable(true);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollPane.getVerticalScrollBar().setAutoscrolls(false);
現在、このコンポーネントは、次のように定義されているメインの JPanel に追加された多数のコンポーネントの 1 つです。
JPanel panel = new JPanel();
panel.setName("Some name");
JScrollPane scrollPane = new JScrollPane();
scrollPane.setName("Some name");
scrollPane.getViewport().add(panel);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.getVerticalScrollBar().setAutoscrolls(false);
JTextArea コンポーネントがメイン パネルの下部近くに表示され、部分的に非表示になっているため、すべてを表示するには下にスクロールする必要があります。しかし、私が得ている問題は、それをクリックすると、メインパネルが自動的に再び一番上にスクロールし、JTextArea コンポーネントのほとんどが再び非表示になることです。そのため、クリックした後、ユーザーは何かを入力するためにもう一度下にスクロールする必要があります。
しかし、なぜこれを行っているのかわかりません。JTextArea の使用に問題はありますか? JTextField を使用すると、問題は発生しません。
どんな助けでも大歓迎です!!