java swing类中的JScrollPane问题
在JScrollPane面板中加入JPane面板,然后再JPane面板中加入一系列的JTextPane组件。运行 之后发现 JScrollPane的滚动条无法显示。
在网上找过答案,说是使用JPane的setPreferredSize(new Dimension(width, height))方法,
尝试过后没有效果,不知道是哪里出了问题。
希望大佬们帮我解决一下。
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
public class TestScrollPane {
public static void main(String[] args) {
JFrame frame=new JFrame();
JPanel panel=new JPanel();
panel.setLayout(null);
panel.setPreferredSize(new Dimension(200,300));
for (int i = 0; i < 10; i++) {
JTextPane textPane=new JTextPane();
textPane.setBounds(0, 105*i, 200, 100);
panel.add(textPane);
}
JScrollPane scrollPane=new JScrollPane(panel);
frame.add(scrollPane);
frame.setSize(1366,768);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
} 可能是因为没有选择绝对面板AbstractJpanel 经过两天的学习和测试,发现是panel内部的组件大小要与panel组件相匹配,所以需要设置panel的size与JTextPane想适应。
应该将13行删除,在18行后加入
panel.setPreferredSize(new Dimension(150,105*i));
这一行代码,滚动条就会随着内部组件的增多而显现出来。
页:
[1]