package gui;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
public class T10 {
/*
* Swing组件中不仅具有JFrame和JDialog这样的顶级窗口,还提供了一些中间容器,这些容器必须放置在顶级窗口中
* 1.JPanel:无边框,不能被移动,放大,缩小,或者关闭的面板,默认布局管理器FlowLayout.
* 2.JScrollPanel:一个带有滚动条的面板容器,而且这个面板只能添加一个组件。
* 如果想在JScrollPanel面板中添加多个组件,应先将组件添加到JPanel中,然后再将JPanel添加到JScrollPanel
*/
public static void main(String[] args) {
JScrollPaneDemo jsp = new JScrollPaneDemo();
JFrame j = new JFrame();
j.setTitle("JScrollPaneDemo");
// 创建滚动面板
JScrollPane sp = new JScrollPane();
// 设置水平滚动条策略--滚动条需要时显示
sp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
// 设置垂直滚动条策略--滚动条一直显示
sp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
// 定义一个JPanel面板
JPanel pan = new JPanel();
// 在JPanel面板中添加四个按钮
pan.add(new JButton("按钮1"));
pan.add(new JButton("按钮2"));
pan.add(new JButton("按钮3"));
pan.add(new JButton("按钮4"));
pan.add(new JButton("按钮5"));
pan.add(new JButton("按钮6"));
pan.add(new JButton("按钮7"));
pan.add(new JButton("按钮8"));
// 设置JPanel面板在滚动面板中显示
sp.setViewportView(pan);
// 将滚动面板添加到内容面板的CENTER区域
j.add(sp, BorderLayout.CENTER);
// 面板可以随时关闭
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j.setSize(400, 400);
j.setVisible(true);
}
}
结果如下