给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(newDimension(width,
height))设置组件大小。
你可以试试button1.setPreferredSize(new
Dimension(width,
height));
以上是关于给jpanel 添加上下滚动条的主要内容,如果未能解决你的问题,请参考以下文章
java swing编程问题:一个jframe中添加一个jpanel后,为jpanel添加一个滚动条,当jpanel中内容过多时滑动
java swing JPanel添加在JScrollPane上,有垂直的滚动条,可是滚动条拉到底,只显示了JPanel的一部分。