Swing程序设计(7)JPane面板,滑动面板

文章目录

  • 前言
  • 一、JPane面板,滑动面板是什么?
  • 二、实操展示
    • 1.JPane面板
    • 2.JScrollPane面板
  • 总结

前言

        该篇博客介绍Java的Swing程序中JPane面板以及,滑动面板的使用。面板的使用,各个组件在不同的面板上被不同地摆放,让插件们有了各自明确的划分职责。而滑动面板让无法展示完整的图像或者隐藏着的插件可以通过滚动条显示。


一、JPane面板,滑动面板是什么?

        JPane面板:是一种容器可以聚集一些组件来布局,也可以用于划分区域,区分各个组件。

        语法:  JPane jp =  new JPane();

        //创建了一个JPane面板对象

        JScrollPane面板:是带滚动条的面板适用于当遇到在一个较小的容器显示一个较大部分的内容。

        语法: JScrollPane jsp = new JScrollPane();

        //创建了一个JScrollPane滑动面板对象

二、实操展示

1.JPane面板

        源代码:

        在项目中创建LabelDemo类,该类继承JFrame类成为窗体组件,在该类中创建三个面板组件,并将它们添加到窗体中,如下:

import java.awt.*;
import javax.swing.*;
//导入swing的包public class LabelDemo extends JFrame{
//继承JFrame窗体类public LabelDemo(){//创建构造方法,搭建窗体setBounds(100,100,1000,1000);//设置窗体大小,生成位置setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭方式Container c = getContentPane();//获取容器c.setLayout(new GridLayout());//设置容器的布局格式JPanel p1 = new JPanel(new GridLayout(1,3,30,30));JPanel p2 = new JPanel(new GridLayout(1, 2,10,10));JPanel p3 = new JPanel(new GridLayout(2, 1,10,10));//创建三个JPane面板,并设置布局格式为网格布局p1.add(new JButton("角色"));p1.add(new JButton("武器"));p1.add(new JButton("装备"));p2.add(new JButton("充值"));p2.add(new JButton("商城"));p3.add(new JButton("副本"));p3.add(new JButton("抽卡"));//添加组件,展示效果c.add(p1);c.add(p2);c.add(p3);setVisible(true);//窗体可见}public static void main(String[] args) {new LabelDemo();}
}

        运行结果:

 

        注释:该代码段中添加了三个面板,第一个面板中添加了三个按钮,中间的间距最大;第二个面板添加了两个按钮,并且没有那么大的间距;第三个面板同样添加了两个按钮,但是为两行一列式的摆放。这就是这三个面板上组件的摆放,用于用户与软件的界面交互。 

2.JScrollPane面板

        源代码:

         在项目里创建LabelDemo类,该类继承JFrame类成为窗体组件,在类中创建JScrollPane滚动面板组件,该滚动面板组件中包含JTextArea文本域组件,如下:

import java.awt.*;
import javax.swing.*;
//导入swing的包public class LabelDemo extends JFrame{
//继承JFrame窗体类public LabelDemo(){//创建构造方法,搭建窗体setBounds(100,100,100,100);//设置窗体大小,生成位置setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭方式Container c = getContentPane();//获取容器JTextArea jta = new JTextArea(200,500);//创建文本域JScrollPane sp = new JScrollPane(jta);//创建滑动条对象,添加于文本域对象(两个组件绑定在一起了)c.add(sp);//容器中添加该滑动条对象setVisible(true);//窗体可见}public static void main(String[] args) {new LabelDemo();}
}

        运行结果:

 

        注释:创建了一个宽为200,高为500的文本域,在文本域外边,外设了一个滑动面板,两个组件绑定在一块,滑动面板添加到容器中即可,可实现超出文本域范围,输入文字可被查找(通过拉动滑块)。 


总结

        以上就是今天写的内容,本文仅简单介绍了JPane面板和JScrollPane滑动面板的使用,而JPane面板和JScrollPane滑动面板在如今有着广泛的应用和使用。若有补充或批评的地方,欢迎在评论区指正,我会及时回答。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/193523.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust 语言:认识 Rust

本心、输入输出、结果 文章目录 Rust 语言:认识 Rust前言Rust的特点Rust LOGO Rust 在IT行业的应用前景Rust 是一门系统级编程语言相关链接花有重开日,人无再少年实践是检验真理的唯一标准 Rust 语言:认识 Rust 编辑:简简单单 Onl…

【ArcGIS Pro微课1000例】0039:制作全球任意经纬网的两种方式

本文讲解在ArcGIS Pro中制作全球任意经纬网的两种方式。 文章目录 一、生成全球经纬网矢量1. 新建地图加载数据2. 创建经纬网矢量数据二、布局生成经纬网1. 新建布局2. 创建地图框2. 创建经纬网一、生成全球经纬网矢量 以1:100万比例尺地图分幅为例,创建经差6、维差4的经纬网…

51. N 皇后

题目介绍 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案…

Tektronix泰克示波器

一、what’s the oscilloscope? 【ref】https://www.tek.com.cn/blog/what-is-an-oscilloscope 二、基础知识 1、带宽:100Mhz;采样率:2.5GS/s 1GS/s指的是采样率,前面大写的S是sample采样的意思 后面的s是秒 也就是示波…

软考2016年上半年第六题(适配器模式)与手术训练系统项目适配器模式的应用

软考2016年上半年第六题 public class Address {public void street(){System.out.println("a");};public void zip(){};public void city(){}; }package org.example.适配器模式;/*** 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间…

Beta冲刺随笔-DAY4-橘色肥猫

这个作业属于哪个课程软件工程A这个作业要求在哪里团队作业–站立式会议Beta冲刺作业目标记录Beta冲刺Day4团队名称橘色肥猫团队置顶集合随笔链接Beta冲刺笔记-置顶-橘色肥猫-CSDN博客 文章目录 SCRUM部分站立式会议照片成员描述 PM报告项目程序/模块的最新运行图片…

设计模式-结构型模式之装饰者设计模式

文章目录 六、装饰者模式 六、装饰者模式 装饰者模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。它是作为现有的类的一个包装。 装饰类和被装饰类可以独立发展,不会相互耦合,装饰者模…

力扣题:字符串的反转-11.22

力扣题-11.22 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:541. 反转字符串 II 解题思想:进行遍历翻转即可 class Solution(object):def reverseStr(self, s, k):""":type s: str:type k: int:rtype: str"&quo…

【Python】tensorflow学习的个人纪录(2)

actor.learn(s, a, td_error)def learn(self, s, a, td):s s[np.newaxis, :]feed_dict {self.s: s, self.a: a, self.td_error: td}_, exp_v self.sess.run([self.train_op, self.exp_v], feed_dict)return exp_v输入变量的数值: 步进: []---->[…

JavaWeb(二)

一、SQL简介 结构化查询语言,一门操作关系型数据库的编程语言。英文:Structured Query Language,简称 SQL。 二、Mysql和Oracle关于区分大小写 MySQL在Windows下都不区分大小写。 oracle中分为两种情况,单纯的sql语句不区分大小…

漏洞扫描服务是什么

漏洞扫描服务是维护网络安全的重要一环。通过定期或实时的漏洞扫描,组织可以及时发现并修复可能存在的安全威胁,增强自身网络的安全性。在选择漏洞扫描服务时,需要明确自身的需求和目标,并选择合适的工具和服务提供商。只有这样&a…

使用VC++实现锐化处理(使用Sobel算子、Prewitt算子、Isotropic算子)

使用VC实现锐化处理(使用Sobel算子、Prewitt算子、Isotropic算子) 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章: 01- 一元熵值、二维熵值 02- 图像平移变换,图像缩放、图像裁剪、图像对角线镜像以及图像…

Vxworks6.9的在线gdb调试(仿真内核和板载内核)

创作目的:归纳总结常用的技巧和方法,方便自己后续查阅重点节省时间。 一、仿真内核的gdb调试 1、新建DKM工程,选择sim的BSP包 2、DKM工程中添加c文件并编辑入口函数 3、新建vxworks远端系统 4、显示系统起来之后进行加载.out 5、选择Debug模…

基于hadoop下的Kafka分布式安装

简介 Kafka是一种分布式流处理平台,它具有高吞吐量、可扩展性、可靠性、实时性和灵活性等优点。它能够支持每秒数百万条消息的传输,并且可以通过增加节点来增加吞吐量和存储容量。Kafka通过将数据复制到多个节点来实现数据冗余和高可用性,即使…

Linux脚本awk命令

目录 一. awk命令简介 1. awk版本 2. awk与vim的区别 3. awk与sed的区别 4. awk工作原理 5. awk格式 6. awk常用选项 二. awk基础用法 1. awk基础用法 2. BEGIN和END语句块 3. 指定分隔符 4. 首尾关键字 三. awk内置变量 1. FS变量 2. OFS变量 3. RS变量 4. NF…

30、LCD1602

LCD1602介绍 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符 显示容量:162个字符,每个字符为5*7点阵 …

理解SpringIOC和DI第一课(Spring的特点),IOC对应五大注解,ApplicationContext vs BeanFactory

Spring是一个包含众多工具等Ioc容器 对象这个词在Spring范围内,称为bean Spring两大核心思想 1.IOC (IOC是控制反转,意思是控制权反转-控制权(正常是谁用这个对象,谁去创建,)-控制对象的控制权&#xf…

轻量封装WebGPU渲染系统示例<41>- 前向渲染的雾(Fog)效果(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/FogTest.ts 当前示例运行效果: 此示例基于此渲染系统实现,当前示例TypeScript源码如下: export class FogTest {private mRscene new Rend…

优化你的计算机性能:如何根据 CPU 占用率决定硬件升级

优化你的计算机性能:如何根据 CPU 占用率决定硬件升级 一、引言二、CPU 占用率的意义与影响三、监测和评估 CPU 占用率四、判断硬件升级需求的依据五、硬件升级方案和建议六、总结 一、引言 计算机性能优化是提升计算机系统整体效能的过程,它对于用户和…

React立即更新DOM

正常情况下,react会等待set完毕后再进行页面渲染,所以在set时无法拿到更新后的dom import { useRef, useState } from "react"export default () > {const div useRef(null)const [count, setCount] useState(0)const btnClick () >…