Java 垂直滚动条和视口定位
我将JTextPane与JScrollPane结合使用。JTextPane预先填充了大量需要滚动阅读的文本。我遇到的问题是,默认情况下,视图端口显示的是文本最底部的部分,即当JFrame打开或刷新时,垂直滚动条旋钮位于底部(而不是顶部)。以前使用JScrollPane时,我没有遇到过这个问题 这是我用来创建滚动窗格的代码:-Java 垂直滚动条和视口定位,java,jscrollpane,Java,Jscrollpane,我将JTextPane与JScrollPane结合使用。JTextPane预先填充了大量需要滚动阅读的文本。我遇到的问题是,默认情况下,视图端口显示的是文本最底部的部分,即当JFrame打开或刷新时,垂直滚动条旋钮位于底部(而不是顶部)。以前使用JScrollPane时,我没有遇到过这个问题 这是我用来创建滚动窗格的代码:- JTabbedPane jtpCentre = new JTabbedPane(); JPanel panHexagramText = new JPane
JTabbedPane jtpCentre = new JTabbedPane();
JPanel panHexagramText = new JPanel();
panHexagramText.setBorder(bor);
txpHexagramText = new JTextPane();
txpHexagramText.setPreferredSize(new Dimension(595, 300));
scrHTPanel = new JScrollPane(txpHexagramText,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrHTPanel.setPreferredSize(new Dimension(595,300));
panHexagramText.add(scrHTPanel);
我用于填充文本窗格的代码位于不同的类中:
try {
String strLineText = this.createLineTextString(strLineTextData);
String[] strFullText = {"Hexagram Text\n\n",
strTranslationData[0][1],
"\n\nLine Text",
strLineText};
String[] strStyles = {"bold", "regular", "bold", "regular"};
gui.txpHexagramText.setText(null);
StyledDocument sDoc = gui.txpHexagramText.getStyledDocument();
this.addStylesToDoc(sDoc);
for (int i = 0; i < strFullText.length; i++) {
sDoc.insertString(sDoc.getLength(), strFullText[i],
sDoc.getStyle(strStyles[i]));
}
} catch (Exception ex) {// Trap error if there is no translation available.
gui.txpHexagramText.setText(str);
}
试试看{
String strLineText=this.createLineTextString(strLineTextData);
字符串[]strFullText={“Hexagram Text\n\n”,
标准翻译数据[0][1],
“\n\n行文本”,
strlnetext};
字符串[]strStyles={“粗体”、“常规”、“粗体”、“常规”};
gui.txpHexagramText.setText(null);
StyledDocument sDoc=gui.txpHexagramText.getStyledDocument();
这是addStylesToDoc(sDoc);
for(int i=0;i
我想问一下,它为什么这样做,我怎样才能纠正它
非常感谢