JTextArea には本当に驚きました。JTextArea JAVAdocに従って、長い文字列の JTextArea を作成しようとしましたが、行を自動的に折り返す必要がありました。
JTextArea text = new JTextArea(myLongString,10,100);
text.setLineWrap(true);
text.setWrapStyleWord(true);
myContainer.add(text);
しかし、実際にはテキストがフレームからはみ出し、1行あたりの文字数は約180です。何かを理解していないか、レイアウト管理に問題があるのかもしれません。しかし、レイアウトの複雑さを避けるために、基本的なフレーム>パネル>テキストエリアに減らします。
英語は私の母国語ではないことに注意してください。
public class myTest extends JFrame
{
public myTest()
{
JPanel simplePanel = new JPanel();
String alongString = "Accusata consulatu vix ad, eruditi albucius liberavisse est no. Platonem reprehendunt qui ea. Dicta recteque referrentur an his, id facete maiorum vulputate vim. At suas oratio mnesarchum quo. Quidam omnium necessitatibus ex sea, vix soleat quaerendum conclusionemque ut, case malorum nam an.No quis suas discere nam, nam ex nostro fastidii vivendum. Sed cu nobis ullamcorper. Has at doctus ponderum honestatis. In facer dicam corpora vis.";
JTextArea myText = new JTextArea(alongString,10,100 );
this.setSize(800, 600);
myText.setLineWrap(true);
myText.setWrapStyleWord(true);
simplePanel.add(myText);
this.add(simplePanel);
this.validate();
this.setVisible(true);
}
public static void main(String[] args)
{
new myTest();
}
}