给jpanel 添加上下滚动条

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给jpanel 添加上下滚动条相关的知识,希望对你有一定的参考价值。

只添加上下,不用左右的。。

参考技术A 用JScrollPane可以哈
JScrollPane pane = new JScrollPane(JPanel);
原来的 add(JPanel)改为add(pane)

给你个例子哈。。

import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

public class TestJScrollPane extends JFrame

private static final long serialVersionUID = 1L;

public TestJScrollPane()
super("TestJScrollPane");
this.setLayout(null);
this.setBounds(200, 200, 200, 300);

JLabel label = new JLabel("深入浅出Java Swing 程序设计");

JPanel panel = new JPanel();
panel.add(label);

JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setBounds(100, 100, 100, 300);
/**
* 要加滚动条就要让panel的宽高大于scrollPane的宽高..你只要上下的..只要高大于就行了..
*/
panel.setPreferredSize(new Dimension(scrollPane.getWidth() - 50, scrollPane.getHeight()*2));
this.add(scrollPane);
panel.revalidate(); //告诉其他部件,我的宽高变了
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



public static void main(String[] args)
new TestJScrollPane();

参考技术B 用JScrollBar

它的构造方法有个是创建垂直滚动条的

jpanel 中滚动条添加

首先 层次关系是这样的 JPanel > JTabbedPane(用做选项卡) > JScrollPane(用于使用滚动条) > JPanel(存放组件)。 现在用的是BoxLayout 布局 能显示出滚动条 但是不能设定jbutton大小,如果不使用布局的话就显示不出滚动条。 怎么才能吧滚动条弄出来 并且能设置组件大小呢?

参考技术A 使用了布局管理器之后,用setPreferredSize(new
Dimension(width,
height))设置组件大小。
你可以试试button1.setPreferredSize(new
Dimension(width,
height));

以上是关于给jpanel 添加上下滚动条的主要内容,如果未能解决你的问题,请参考以下文章

jpanel 中滚动条添加

java swing编程问题:一个jframe中添加一个jpanel后,为jpanel添加一个滚动条,当jpanel中内容过多时滑动

java swing JPanel添加在JScrollPane上,有垂直的滚动条,可是滚动条拉到底,只显示了JPanel的一部分。

JScrollPane 在顶部添加 JPanel 并保持当前滚动视图

jpanel放入JScrollPane 高度滚动条不显示

java中JScrollPane不显示水平滚动条的解决办法