Java基础-组件及事件处理(下)

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

面板组件

说明

常见组件

 JScrollPane常用构造方法

JScrollPane设置面板滚动策略的方法 

JScrollPane滚动策略常量值

文本组件

定义

JTextField

定义

常用构造方法:

示例

JTextArea

定义

常用构造方法

示例:

标签组件 

定义

说明:

构造方法:

示例:

按钮组件

说明

AbstractButton常用方法

JCheckBox 

说明

常用构造方法

JRadioButton

说明

常用构造方法


面板组件

说明

Swig组件中供了一些面板组件(中间容器),这些面板组件不能单独存在,只能放置在顶级窗口容器中。

常见组件

JPanel

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


JScrollPane:

JScrollPane是一个带有滚动条的面板容器,且只能添加一个组件;想向JScrollPane面板中添加多个组件,应先将这多个组件添加到某个组件中,然后再将这个组件添加到JScrollPane中。

 JScrollPane常用构造方法

说明:第三个构造方法,是在第二个构造方法的基础上指定滚动条策略。如果在构造方法中没用指定显示组件和滚动条策略,也可以使用JScrollPane提供的方法进行设置。 

JScrollPane设置面板滚动策略的方法 

说明:
上述表格方法是JScrollPane滚动面板组件对象提供的设置滚动策略的方法。
滚动策略方法取值可以使用ScrollPaneConstants:接口中声明了多个常量属性来进行设置。

JScrollPane滚动策略常量值

文本组件

定义

文本组件用于接收用户输入的信息,包括文本框(JTextField)、文本域(JTextArea)等。

说明:

它们都有一个共同父类JTextComponent,JTextComponent是一个抽象类。


常用方法:

JTextField

定义

JTextField称为文本框,它只能接收单行文本的输入。

常用构造方法:

说明:

JTextField有一个子类JPasswordField,表示一个单行输入密码框。
在此框中是通过显示指定的回显字符作为占位符。
新创建的密码框默认的回显字符为“*”。 

示例

import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
public class JTextDemo01
{public static void main(String args[]){JFrame frame = new JFrame("测试单行文本组件JTextField");//文本组件长度30JTextField name = new JTextField(30);//带默认内容的文本组件,长度10JTextField noed = new JTextField("默认文本", 10);JLabel nameLab = new JLabel("输入用户姓名:");JLabel noedLab = new JLabel("不可编辑文本:");//设置组件的长度name.setColumns(30);noed.setColumns(10);//设置默认文本组件不可编辑noed.setEnabled(false); //使用网格布局frame.setLayout(new GridLayout(2, 2));frame.add(nameLab);frame.add(name);frame.add(noedLab);frame.add(noed);frame.setSize(400, 100);frame.setLocation(300, 200);frame.setVisible(true);}
}

运行效果

 

JTextArea

定义

JTextArea称为文本域,它能接收多行文本的输入,使用JTextArea构造方法创建对象时可以设定区域的行数、列数。

常用构造方法

示例:

import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JLabel;
public class JTextAreaDemo01
{public static void main(String args[]){JFrame frame = new JFrame("使用文本域");//设置文本域的行数,列数JTextArea jtextarearea = new JTextArea(3, 20); // 设置大小JLabel lab = new JLabel("多行文本域:");//设置标签大小lab.setBounds(10, 10, 120, 20);//设置文本域的大小jtextarearea.setBounds(100, 10, 200, 140);//取消布局管理器,使用绝对定位frame.setLayout(null); // 取消布局管理器frame.add(lab);frame.add(jtextarearea);frame.setSize(400, 200);frame.setLocation(300, 200);frame.setVisible(true);}
}

运行效果:

标签组件 

定义

Swig中提供了用于仅供展示的标签组件。

说明:

标签组件主要用到的是JLabel,JLabel组件可以显示文本、图像,还可以设置标签内容的垂直和水平对齐方式。

构造方法:

示例:

import javax.swing.*;public class JLabelDemo {public static void main(String[] agrs) {JFrame frame=new JFrame("Java标签组件示例");    //创建Frame窗口JPanel jp=new JPanel();    //创建面板JLabel label1=new JLabel("普通标签");    //创建标签JLabel label2=new JLabel();label2.setText("调用setText()方法");ImageIcon img=new ImageIcon("a.png");    //创建一个图标//创建既含有文本又含有图标的JLabel对象JLabel label3=new JLabel("开始理财",img,JLabel.CENTER);jp.add(label1);    //添加标签到面板jp.add(label2);jp.add(label3);frame.add(jp);frame.setBounds(300,200,400,400);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}
}

运行结果:

按钮组件

说明

在Swing中常见的按钮组件有JButton、JCheckBox、JRadioButton等,它们都是抽象类AbstractButton:类的直接或间接子类。

AbstractButton常用方法

JCheckBox 

说明

JCheckBox组件被称为复选框组件,它有选中和未选中两种状态,通常复选框会有多个,用户可以选中其中一个或者多个。

常用构造方法


说明

除了上述构造方法,还可以调用从父类继承的set Text(String text)来设置
复选框文本信息,调用setSelected(boolean b)方法来设置复选框状态(是否被
选中),也可以调用isSelected(方法来判断复选框是否被选中。

JRadioButton

说明

JRadioButton:组件被称为单选按钮组件,单选按钮只能选中一个。
使用:
要JRadioButton按钮之间的互斥,需要使用ButtonGroup类。
ButtonGroup是一个不可见的单选按钮组。将多个JRadioButton按钮添加到同一个单选按钮组中就能实现JRadioButton按钮的单选功能。

常用构造方法

 

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

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

相关文章

HarmonyOS ArkTS 下拉列表组件

Entry Component struct Index {defaultValue: string 下拉列表;// 定义选项数组&#xff0c;包含 value 和可选的 labeloptions: Array<SelectOption> [{ value: aaa },{ value: bbb },{ value: ccc },{ value: ddd },{ value: eee },{ value: fff },{ value: ggg },{…

第8章 利用CSS制作导航菜单

8.1 水平顶部导航栏 水平莱单导航栏是网站设计中应用范围最广的导航设计&#xff0c;一般放置在页面的顶部。水平 导航适用性强&#xff0c;几乎所有类型的网站都可以使用&#xff0c;设计难度较低。 如果导航过于普通&#xff0c;无法容纳复杂的信息结构&#xff0c;就需要在…

使用VSCode远程连接服务器并解决Neo4j无法登陆问题

摘要&#xff1a;本文介绍了如何通过VSCode连接内网部署的Neo4j服务器&#xff0c;并启动服务。在访问Neo4j登录界面时&#xff0c;遇到了端口映射问题导致无法登录。通过手动添加7687端口的映射后&#xff0c;成功登录Neo4j。 我在内网部署了一台服务器&#xff0c;并在其上运…

Linux手动安装nginx

本次以安装nginx-1.12.2为例 1、首先说明一下,安装nginx之前需要安装如下素材: 2、开始安装 第一步,安装依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel第二步,下载并安装nginx安装包(nginx官网:http://nginx.org/)# 下载 wget http://nginx…

Flink CDC(SQL Client)连接 MySQL 数据库教程

Flink CDC&#xff08;SQL Client&#xff09;连接 MySQL 数据库教程 这篇文章将指导如何使用 Flink CDC 连接到 MySQL 数据库&#xff0c;并捕获数据变更。我们将逐步完成以下操作&#xff1a; 1. 检查 Binlog 是否启用 首先&#xff0c;您需要确保 MySQL 的 Binlog 功能已…

蓝凌OA-EKP hrStaffWebService 任意文件读取漏洞

0x01 产品描述&#xff1a; ‌ 蓝凌OA-EKP‌是由深圳市蓝凌软件股份有限公司自主研发的一款数字化办公系统&#xff0c;主要适用于大中型企业在线化办公。它集成了流程管理、知识管理、会议管理、公文管理、合同管理、费用管控等多个模块&#xff0c;旨在帮助企业解决基础…

管家婆财贸ERP BB059.银行流水导入对账

最低适用版本: C系列 22.8 插件简要功能说明: 系统支持按固定模板导入银行流水明细银行流水支持销售单、销售退货单快捷对账,按单生成收款单银行流水支持生成其他付款业务单据更多细节描述见下方详细文档插件操作视频: 进销存类定制插件--银行流水导入对账 插件详细功能文…

第8章利用CSS制作导航菜单

8.1 水平顶部导航栏 8.1.1 简单水平导航栏的设计与实现 <nav>标签是HTML5新增的文档结构标签&#xff0c;用于标即导航栏&#xff0c;以便后续与网站的其他其内容整合&#xff0c;使用常用<nav>标签在页面上创建导航栏菜单区域。 8.1.1.1导航栏的创建 <!DOC…

给查询业务添加redis缓存和缓存更新策略

目录 一、添加redis缓存的主要逻辑 二、代码 三、结果 四、缓存更新策略 五、代码 一、添加redis缓存的主要逻辑 在未添加缓存时&#xff0c;前端向后端发起查询请求时&#xff0c;后端收到请求就直接查数据库&#xff0c;它的速度如下&#xff1a; 其实速度也不慢&#…

【贪心算法】No.1---贪心算法(1)

文章目录 前言一、贪心算法&#xff1a;二、贪心算法示例&#xff1a;1.1 柠檬⽔找零1.2 将数组和减半的最少操作次数1.3 最⼤数1.4 摆动序列1.5 最⻓递增⼦序列1.6 递增的三元⼦序列 前言 &#x1f467;个人主页&#xff1a;小沈YO. &#x1f61a;小编介绍&#xff1a;欢迎来到…

无人机动力测试台如何快速外接第三方传感器

前言 动力测试台对于测试动力系统的拉力、扭矩、RPM 和效率至关重要。将传感器集成到您的测试中增加了另一层优化&#xff0c;可以将您的性能提升到一个新的水平。 在无人驾驶行业中&#xff0c;有充分的证据表明&#xff0c;从外部传感器收集数据可能具有挑战性。为了解决这…

【项目开发 | 跨域认证】JSON Web Token(JWT)

未经许可,不得转载。 文章目录 JWT设计背景:跨域认证JWT 原理JWT 结构JWT 使用方式注意JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理、结构及用法。 JWT设计背景:跨域认证 互联网服务的用户认证流程是现代应用中的核心组成部分,通常的流程…

985研一学习日记 - 2024.11.12

一个人内耗&#xff0c;说明他活在过去&#xff1b;一个人焦虑&#xff0c;说明他活在未来。只有当一个人平静时&#xff0c;他才活在现在。 日常 1、起床6:00√ 2、健身2h 3、LeetCode刷了4题 无重叠区间 对于贪心算法&#xff0c;可以先对数组进行排序&#xff0c;然后再…

数学建模模型算法-Python实现

一、评价决策类 1、层次分析法&#xff08;AHP&#xff09; 层次分析法用来评价或选择一个更好更优的决策或方案 通过找到可以衡量其好坏的指标&#xff0c;进而衡量指标&#xff0c;再形成评价体系 归一化处理 让指标在同一数量级&#xff0c;且保证在同一指标下其差距保持…

洞察鸿蒙生态,把握开发新机遇

随着科技的不断进步&#xff0c;鸿蒙系统以其独特的分布式架构和跨设备协同能力&#xff0c;逐渐在智能手机、智能穿戴、车载、家居等多个领域崭露头角&#xff0c;与安卓、iOS形成三足鼎立之势。作为一名开发者&#xff0c;我对鸿蒙生态的认知和了解如下&#xff1a; 一、鸿蒙…

uniapp打包华为,提示请提供64位版本软件包后再提交审核

HBuilder项目打包需要配置勾选arm64-v8a,默认只会集成armeabi-v7a

信捷 PLC C语言 POU 指示灯交替灭0.5秒亮0.5秒(保持型定时器)

1.在全局变量表中定义2个定时器变量timer_1,timer_2 名称 类型 timer_1 TMR_A_FB False -- False False timer_2 TMR_A_FB False -- False False ot2 BOOL False -- False False ot2表示指示灯 …

Apache ECharts

目录 1. 基本概念 1.1 ECharts的主要特点有&#xff1a; 1.2 ECharts的图形绘制方式&#xff1a; 2. 基本使用 3. 图表容器的大小 4. Option常用配置项 1. 基础配置项 title 标题组件 tooltip提示框组件 legend 图例组件 2.坐标配置项 grid网格组件 xAxis 直角坐标…

NVIDIA NIM 简介

NVIDIA NIM 简介 NVIDIA NIM 是一组易于使用的微服务&#xff0c;旨在加速在云、数据中心和工作站中部署生成式 AI 模型。NIM 按模型系列和每个模型分类。例如&#xff0c;用于大型语言模型 (LLM) 的 NVIDIA NIM 将最先进的 LLM 的强大功能带入企业应用程序&#xff0c;提供无…

常用中间件介绍

1. RabbitMQ RabbitMQ是一个基于AMQP&#xff08;Advanced Message Queuing Protocol&#xff0c;高级消息队列协议&#xff09;的开源消息代理软件&#xff0c;实现了面向消息的中间件。它支持消息持久化、队列、交换机&#xff08;Exchange&#xff09;和绑定&#xff08;Bin…