栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java--GUI--面板组件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/719283.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号