Java JScrollPane不能覆盖整个JPanel
我不知道我是否错过了什么或者这是一个错误。 我创建了一个包含几个JTextArea的面板 但是滚动窗格只允许我滚动到第22行。但是有70行 当我调整框架的大小时,滚动窗格也会调整大小,我可以看到比只使用滚动条向下滚动时更多的行 不要介意里面的代码 国家1: 国家2: 有70行! 但我无法滚动到它们 有什么建议吗? 我只设置了一个rowheaderView:Java JScrollPane不能覆盖整个JPanel,java,swing,jscrollpane,Java,Swing,Jscrollpane,我不知道我是否错过了什么或者这是一个错误。 我创建了一个包含几个JTextArea的面板 但是滚动窗格只允许我滚动到第22行。但是有70行 当我调整框架的大小时,滚动窗格也会调整大小,我可以看到比只使用滚动条向下滚动时更多的行 不要介意里面的代码 国家1: 国家2: 有70行! 但我无法滚动到它们 有什么建议吗? 我只设置了一个rowheaderView: jScrollPane1.setRowHeaderView(codeTextArea2.getRowNumbers()); 以及viewp
jScrollPane1.setRowHeaderView(codeTextArea2.getRowNumbers());
以及viewportView:
jScrollPane1.setViewportView(codeTextArea2);
codeTextArea2是扩展JPanel的自定义类,包含多个JTextArea到HFOE注释
不要介意里面的代码
我们不介意里面的代码的原因是:
这对我来说似乎很好,因为我没有你的代码,我模拟了我认为你拥有的最简单的代码
简单的JPanel类,它包含一个包含70行20列的JTextArea,每个JTextArea通过简单的append给出一个数字。。在正常大小和最大化行数上似乎没有变化
这张太大了,无法拍摄完整的未缩放屏幕
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class Test {
public Test() {
createAndShowGui();
}
private void createAndShowGui() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanelTextAreas panelWithTextAreas = new MyPanelTextAreas();
JScrollPane jsp = new JScrollPane(panelWithTextAreas);
jsp.setPreferredSize(new Dimension(500, 400));//dont want it too big
frame.add(jsp);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Test();
}
});
}
}
class MyPanelTextAreas extends JPanel {
JTextArea area = new JTextArea(70, 20);
public MyPanelTextAreas() {
setLayout(new BorderLayout());
add(area);
for (int i = 1; i <= 70; i++) {
area.append((i == 1 ? "" : "\n") + i);
}
area.setCaretPosition(1);
}
}
您的问题包含的信息不足以让我回答,但我有一个猜测:您没有在任何地方使用空布局,是吗?如果是这样的话,就去掉它,并使用JScrollPane可以处理的有效布局。还有,别担心里面的代码会给我们带来严重的伤害。当你不知道是什么导致了你的问题时,你怎么能这么说呢?另外,你可以设置viewportView所持有的组件的大小或preferredSize吗?非常感谢,这是使用空布局和设置preferredSize的组合。欢迎你,但下次,请不要介意里面的代码。如果您知道问题的原因,您可能不会在此处发布问题。向我们展示代码。别逼我们猜。