我正在尝试为文本区域创建滚动条。但是,滚动条没有出现。任何人都可以给我任何提示。这是创建滚动条所在的面板的方法。
displayCD = new JPanel();
displayCD.setSize(new Dimension(500, 500));
jta = new JTextArea();
jta.setMaximumSize(new Dimension(500, 500));
scrollPane = new JScrollPane();
scrollPane.getViewport().add(jta);
displayCD.add(scrollPane);
答案 0 :(得分:0)
您需要将textArea提供给scrollpane的构造函数。有关详细信息,请查看此链接:http://docs.oracle.com/javase/tutorial/uiswing/components/scrollpane.html。
JScrollPane scrollPane = new JScrollPane(textArea);
答案 1 :(得分:0)
结帐How to Use Scroll Panes。以下是他们的例子:
//In a container that uses a BorderLayout:
textArea = new JTextArea(5, 30);
...
JScrollPane scrollPane = new JScrollPane(textArea);
...
setPreferredSize(new Dimension(450, 110));
...
add(scrollPane, BorderLayout.CENTER);
尝试传递JTextArea
构造函数中的JScrollPane
,最重要的是,尝试为其提供有意义的大小提示(行和列)。
将此应用于您的特定情况:
jta = new JTextArea(5, 30);
scrollPane = new JScrollPane(jta);
displayCD = new JPanel();
displayCD.add(scrollPane);
如果文字内容超出默认尺寸,则会出现滚动条。要始终显示条形,请尝试使用setHorizontalScrollBarPolicy
和setVerticalScrollBarPolicy
方法或其他JScrollPane
构造函数。
关于文本区域的大小:
除非您明确设置滚动窗格的首选大小,否则滚动窗格会根据其九个组件的首选大小(视口,如果存在,两个滚动条,行和列标题)计算它,和四个角落)。最大的因素,也是大多数程序员关心的因素,是用于显示客户端的视口的大小。
答案 2 :(得分:0)
看这个例子。 JScrollPane.VERTICAL_SCROLLBAR_ALWAYS属性。
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Main {
public static void main(String[] argv) throws Exception {
JTextArea textArea = new JTextArea();
JScrollPane pane = new JScrollPane(textArea);
pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
}
}
参考:http://www.java2s.com/Code/JavaAPI/javax.swing/JScrollPaneVERTICALSCROLLBARALWAYS.htm