Java Can';似乎没有将JTextArea添加到JScrollPane?

Java Can';似乎没有将JTextArea添加到JScrollPane?,java,swing,jscrollpane,jtextarea,Java,Swing,Jscrollpane,Jtextarea,我遇到了一个小问题…我试图创建一个可滚动的文本区域,我已经用下面的代码片段实现了它,我很确定这是可以实现的。如果你能告诉我有什么问题,我将不胜感激 JTextArea textArea = new JTextArea(); textArea.setBackground(Color.WHITE); textArea.setPreferredSize(new Dimension(600, 200)); textArea.setWrapStyleWord(true); textArea.setLine

我遇到了一个小问题…我试图创建一个可滚动的文本区域,我已经用下面的代码片段实现了它,我很确定这是可以实现的。如果你能告诉我有什么问题,我将不胜感激

JTextArea textArea = new JTextArea();
textArea.setBackground(Color.WHITE);
textArea.setPreferredSize(new Dimension(600, 200));
textArea.setWrapStyleWord(true);
textArea.setLineWrap(true);

JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
String s = "";

for (int i = 0; i < 100; i++) {
    s += "asdflkjas;ldfkjas;lflsdkjfads;kfja;sdlfafsdf\n";
}

textArea.setText(s);

// method to add Component to a JPanel with GridBagLayout 
addComponent(scrollPane, 3, 0, 2, 2);
JTextArea textArea=新的JTextArea();
textArea.setBackground(颜色:白色);
textArea.setPreferredSize(新尺寸(600200));
textArea.setWrapStyleWord(true);
textArea.setLineWrap(true);
JScrollPane scrollPane=新的JScrollPane(textArea);
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HorizontalScrollBar\uAlways);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL\u SCROLLBAR\u ALWAYS);
字符串s=“”;
对于(int i=0;i<100;i++){
s+=“asdflkjas;ldfkjas;lflsdkjfads;kfja;sdlfafsdf\n”;
}
textArea.setText(s);
//方法将组件添加到具有GridBagLayout的JPanel中
addComponent(滚动窗格,3,0,2,2);
问题很简单-一切正常-文本显示正常,滚动条显示正常,文本已包装…但我无法滚动

请给我一些指点

谢谢!!
Baggio

问题在于,您正在将
textArea
的首选大小设置为显示文本所需区域的较小大小,因此不会出现滚动条

这里最好不要设置首选大小,让
JScrollPane
确定子组件的大小。滚动条将按预期显示

您可以使用此构造函数:



旁注:在执行
String
连接时,最好使用
StringBuilder
,以提高性能。

问题在于,您正在将
textArea
的首选大小设置为显示文本所需区域的较小大小,因此不会出现滚动条

这里最好不要设置首选大小,让
JScrollPane
确定子组件的大小。滚动条将按预期显示

您可以使用此构造函数:


旁注:在执行
String
串联时,最好使用
StringBuilder
,以提高性能