其他分享
首页 > 其他分享> > JScrollPane+JPanel —— 组件纵向(或垂直)滑动

JScrollPane+JPanel —— 组件纵向(或垂直)滑动

作者:互联网


  1. 滑动面板(scrollpane)添加“内部”面板组件 scrollPane.setViewportView(pinner);
  2. 面板组件pinner 设置网格布局方式,设置 rows=0 表示无数行,pinner.add(xxx) 时直接在垂直方向上添加组件

public class TestScrollPane {

    public static void main(String[] args) {

        JFrame frame = new JFrame();
        frame.setBounds(100, 100, 550, 700);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        JPanel p = new JPanel();//parent panel
        JPanel pinner = new JPanel();//inner panel
        JScrollPane scrollPane = new JScrollPane();//滚动面板

        p.setLayout(new BorderLayout());
        p.add(scrollPane, BorderLayout.CENTER);//将 scrollpane 放在 parent-panel 的中央

        p.setBackground(new Color(255, 255, 0));

        pinner.setLayout(new GridLayout(0, 1, 5, 5));//jpanel改变布局,使用网格布局,rows=1表示行数不限
        for (int i = 0; i < 100; i++) {
            pinner.add(new JLabel(String.valueOf(i)));
            pinner.add(new JLabel("		msgxxxxxxxx"));
        }
        pinner.setBackground(new Color(0, 255, 255));

        scrollPane.setViewportView(pinner);//将 inner panel 加入 滚动面板

        frame.add(p);
        frame.setVisible(true);
    }

}

image-20210316142615029

标签:pinner,frame,add,JScrollPane,JPanel,组件,new,panel
来源: https://www.cnblogs.com/gyjjj/p/14543331.html