我正在创建一个带有常量宽度的侧边栏的GUI,我想添加一个Scrollable文本,将文本添加到JTextPane中,所有这些都添加到JPanel PanelList中。
问题是它会自动调整到最长字符串的长度,因此可滚动条总是显示整个文本 - 这不是我正在寻找的。 p>
拥有此代码:
public PanelList(int size){
text = new JTextPane();
text.setEditable(false);
text.setText("IwantthisStringtobeScrollable\n" +
"ThisStringis30characterslength");
JScrollPane scrollpane = new JScrollPane(text);
scrollpane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
this.add(scrollpane);
}
我需要调用哪种方法才能显示JTextPane的20个字符并且能够滚动?
编辑:滚动面板显示的宽度是参数大小的宽度。
答案 0 :(得分:3)
我需要调用哪种方法才能显示JTextPane的20个字符
JTextPane
不支持此概念。
如果您只显示简单文本(并且不需要多种字体或文本颜色),则可以使用JTextArea
。然后你会做类似的事情:
JTextArea textArea = new JTextArea(5, 20);
JScrollPane scrollPane = new JScrollPane(textArea);
这将创建一个包含5行和20列的文本区域。列不精确,因为每个字符的宽度都不同。如果你只需要20个字符,那么你需要使用等宽字体。