给jpanel 添加上下滚动条

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

第1个回答  推荐于2018-02-10
用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();
}
}本回答被网友采纳
第2个回答  2010-07-26
用JScrollBar

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