鱼C论坛

 找回密码
 立即注册
查看: 3622|回复: 2

java swing类中的JScrollPane问题

[复制链接]
发表于 2019-7-27 10:58:33 | 显示全部楼层 |阅读模式
30鱼币
在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);
        }
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-27 19:43:29 | 显示全部楼层
可能是因为没有选择绝对面板AbstractJpanel
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-8-6 10:33:01 | 显示全部楼层
经过两天的学习和测试,发现是panel内部的组件大小要与panel组件相匹配,所以需要设置panel的size与JTextPane想适应。
应该将13行删除,在18行后加入
panel.setPreferredSize(new Dimension(150,105*i));
这一行代码,滚动条就会随着内部组件的增多而显现出来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 15:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表