Java 在TextArea上添加滚动窗格

Java 在TextArea上添加滚动窗格,java,swing,scroll,jtextarea,horizontal-scrolling,Java,Swing,Scroll,Jtextarea,Horizontal Scrolling,我正在制作一个GUI,在其中我将水平滚动条添加到TextArea,因为将在TextArea中显示的标签/行的长度大于TextArea的宽度 这是我创建窗格的代码。但似乎什么也没发生 //创建描述的文本区域并添加到主框架中 public static JTextArea textArea = new JTextArea(); textArea.setEditable(false); textArea.setLineWr

我正在制作一个GUI,在其中我将水平滚动条添加到TextArea,因为将在TextArea中显示的标签/行的长度大于TextArea的宽度

这是我创建窗格的代码。但似乎什么也没发生

//创建描述的文本区域并添加到主框架中

public static JTextArea textArea = new JTextArea();
textArea.setEditable(false);                                        
textArea.setLineWrap(true);
textArea.setPreferredSize(new Dimension(100,600));

scrollpanel = new JScrollPane(textArea);    
scrollpanel.setBounds(20, 600, 920, 130);
scrollpanel.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);  
scrollpanel.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollpanel.setBorder(BorderFactory.createTitledBorder("Description"));
frmToolToMigrate.getContentPane().add(scrollpanel); 
你看过吗

您还可以将textArea作为扩展textArea java类的新类,然后实现可滚动

public class MyTextArea extends JTextArea implements Scrollable{

//Whatever you want to do

}
替代
setBounds()
,覆盖滚动窗格的,如图所示。默认情况下,滚动条将根据需要自动显示。还考虑实现接口。


您必须填充滚动窗格的显示区域,但仍然没有发生任何事情。1)
textArea.setPreferredSize(新维度(100600))
可以通过构造函数中使用的行数和列数更好地指定
JTextArea
的大小。2)
scrollpanel.setBounds(20600920130)这样做(建议一个尺寸)可能意味着这种胡说八道的行为可能会发生。。。。javagui可能必须在许多平台上工作,在不同的屏幕分辨率上&使用不同的plaf。因此,它们不利于部件的精确放置。为了组织一个健壮GUI的组件,可以使用布局管理器,或者,在运行代码时,使用布局填充和边框。滚动条会显示,但问题是,假设字符串的长度大于文本区域的宽度,那么它将不可滚动。例如,假设我显示此语句“你好,我是XYZ。你好吗?”。屏幕上只显示“你好,我是XYZ”。“只有剩下的部分没有显示。正如您所说,我尝试了相同的方法,但当我删除setbound方法并覆盖滚动窗格的getPreferredsize()时,textArea不会显示在我的大型机中。请确保在添加组件之后和调用
setVisible
之前,
pack()
框架。是的,我确定pack()添加组件后添加组件之前和setVisible()之前的框架如果您仍然有问题,可以使用显示您描述的问题的框架编辑您的问题。