java--GUI--面板组件

java--GUI--面板组件,第1张

java--GUI--面板组件 面板组件

面板组件不能单独存在,只能放置在顶级窗口容器中。常见的面板组件有两个,分别是JPanel和JScrollPane。

JPanel

1、JPanel面板组件是一个无边框,不能被移动、不能放大,缩小、不能关闭的面板,它的默认布局管理器是FlowLayout。

2、构造方法:JPanel(LayoutManager layout)设置JPanel布局管理器。

例:

package com.company.www;
import javax.swing.*;
import java.awt.*;
public class frame {
    public static void GUI() {
        Jframe frame = new Jframe("frame");
        frame.setSize(1000, 800);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
        JPanel panel = new JPanel(new GridLayout(2, 2, 10, 10));
        JButton btn1 = new JButton("1");
        JButton btn2 = new JButton("2");
        JButton btn3 = new JButton("3");
        JButton btn4 = new JButton("4");
        panel.add(btn1);
        panel.add(btn2);
        panel.add(btn3);
        panel.add(btn4);
        frame.add(panel);
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(frame::GUI);
    }
}

JScrollPane

1、JScrollPane是一个带有滚动条的面板,面板上只能添加一个组件。(如果想向JScrollPane面板中添加多个组件,应该先把多个组件添加到某个组件中,然后再将这个组件添加到JScrollPane中)。

2、构造方法:

JScrollPane() 创建一个空的JScrollPane面板

JScrollPane(Component view) 创建一个显示指定组件的JScrollPane面板,如果组件的内容超过视图大小就会显示水平或垂直滚动条。

JScrollPane(Component view, int vsbPolicy, int hsbPolicy) 创建一个显示指定容器、有指定滚动条策略的滚动面板。

3、属性

​ VERTICAL_SCROLLBAR_AS_NEEDED HORIZONTAL_SCROLLBAR_AS_NEEDED

​ 当填充的组件视图超过窗口大小的时候,自动显示水平和竖直滚动条(JscrollPane组件的默认值)

​ VERTICAL_SCROLLBAR_ALWAYS HORIZONTAL_SCROLLBAR_ALWAYS

​ 无论填充的组件视图大小,始终显示水平和竖直滚动条。

​ VERTICAL_SCROLLBAR_NEVER HORIZONTAL_SCROLLBAR_NEVER

​ 无论填充的组件视图大小,始终不显示水平和竖直滚动条。

4、成员方法:

void setHorizontalBarPolicy(int policy) 指定水平滚动条何时显示在滚动面板上。

void setVerticalBarPolicy(int policy) 指定垂直滚动条何时显示在滚动面板上。

void setViewportView(Component view) 设置在滚动面板显示的组件。

例:

package com.company.www;
import javax.swing.*;
import java.awt.*;

public class frame {
    public static void GUI() {
        Jframe frame = new Jframe("frame");
        frame.setSize(500, 300);
        frame.setVisible(true);               
        frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
        JScrollPane jsp = new JScrollPane();
        // 设置垂直滚动条策略--滚动条需要时显示
        jsp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        // 设置水平滚动条策略--滚动条需要时显示
        jsp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        JPanel panel = new JPanel();
        panel.add(new JButton("1"));
        panel.add(new JButton("2"));
        panel.add(new JButton("3"));
        panel.add(new JButton("4"));
        // 设置JPanel面板在滚动面板JScrollPane中显示
        jsp.setViewportView(panel);
        // 向Jframe容器窗口中添加JScrollPane滚动面板组件
        frame.add(jsp, BorderLayout.CENTER);
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(frame::GUI);
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5715598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存