鱼C论坛

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

java swing类中的JScrollPane问题

[复制链接]
发表于 2019-7-27 10:58:33 | 显示全部楼层 |阅读模式
30鱼币
在JScrollPane面板中加入JPane面板,然后再JPane面板中加入一系列的JTextPane组件。
运行 之后发现 JScrollPane的滚动条无法显示。
在网上找过答案,说是使用JPane的setPreferredSize(new Dimension(width, height))方法,
尝试过后没有效果,不知道是哪里出了问题。
希望大佬们帮我解决一下。


  1. import java.awt.Dimension;

  2. import javax.swing.JFrame;
  3. import javax.swing.JPanel;
  4. import javax.swing.JScrollPane;
  5. import javax.swing.JTextPane;

  6. public class TestScrollPane {
  7.         public static void main(String[] args) {
  8.                 JFrame frame=new JFrame();
  9.                 JPanel panel=new JPanel();
  10.                 panel.setLayout(null);
  11.                 panel.setPreferredSize(new Dimension(200,300));
  12.                
  13.                 for (int i = 0; i < 10; i++) {
  14.                         JTextPane textPane=new JTextPane();
  15.                         textPane.setBounds(0, 105*i, 200, 100);
  16.                         panel.add(textPane);
  17.                 }
  18.                 JScrollPane scrollPane=new JScrollPane(panel);
  19.                 frame.add(scrollPane);
  20.                 frame.setSize(1366,768);
  21.                 frame.setVisible(true);
  22.                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  23.         }
  24. }
复制代码

想知道小甲鱼最近在做啥?请访问 -> 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-5-10 22:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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