当前位置: 首页 > news >正文

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按钮的单选功能。

常用构造方法

 

相关文章:

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

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 面板组件 说明 常见组件 JScrollPane常用构造方法 JScrollPane设置面板滚动策略的方法 JScrollPane滚…...

npm list -g --depth=0(用来列出全局安装的所有 npm 软件包而不显示它们的依赖项)

您提供的命令 npm list -g --depth0 是在 Node Package Manager (npm) 的上下文中使用的,用来列出全局安装的所有 npm 软件包而不显示它们的依赖项。 这是它的运作方式: npm list -g --depth0-g: 指定列表应包括全局安装的软件包。--depth0: 限制树形结…...

深度学习:nn.Linear

nn.Linear 是 PyTorch 中的一个线性层(全连接层),用于将输入张量从一个维度空间映射到另一个维度空间。具体来说,nn.Linear 执行以下操作: outputinputweightTbias 其中: input 是输入张量。 weight 是权重…...

大数据新视界 -- 大数据大厂之 Impala 性能提升:高级执行计划优化实战案例(下)(18/30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

常用的Anaconda Prompt命令行指令

一、环境管理 查看已安装的环境 conda env list 或 conda info --envs:列出所有已安装的Anaconda环境。 创建新环境 conda create -n env_name pythonx.x:创建一个名为env_name的新环境,并指定Python版本为x.x。 激活环境 conda activate env…...

如何低成本、零代码开发、5分钟内打造一个企业AI智能客服?

传统客服因员工效率低、时段需求波动大、数据管理费时费力等管理难题,导致难以满足用户需求,无法深入挖掘客服数据价值,造成客源流失。而智能体搭建的“智能客服”能借助大模型和知识库知识,助力实现数字化运营,破解企…...

全网最全最新最细的MYSQL5.7下载安装图文教程

一、MYSQL两种安装包格式 MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。zip格式相当于绿色版,不需要安装,只需解压缩之后就可以使用了,但是要进行配置。msi格式是安装版。 二、MYSQL官网下载 1.官网地址…...

NoSQL数据库与关系型数据库的主要区别

NoSQL数据库与关系型数据库在多个方面存在显著区别,以下是对这些主要区别的详细描述: 一、数据存储模型 关系型数据库:使用表格形式存储数据,每个表格由行和列组成,行表示记录,列表示字段。数据之间的关系…...

ubuntu24.04安装matlab失败

又是摸鱼摆烂的一天,好难过~ 官方教程:https://ww2.mathworks.cn/help/install/ug/install-products-with-internet-connection.html 问题描述:https://ww2.mathworks.cn/matlabcentral/answers/2158925-cannot-install-matlab-r2…...

Oracle 11g rac 集群节点的修复过程

Oracle 11g rac 集群节点的修复过程 目录 Oracle 11g rac 集群节点的修复过程一、问题的产生二、修复过程1、执行 roothas.pl 命令2、执行 root.sh 命令3、查看集群信息4、查看节点2的IP地址5、查看节点2的监听信息 一、问题的产生 用户的双节点 Oracle 11g rac 集群&#xff…...

c++:string(一)

文章目录 一string类1C语言中的字符串2C中的string二遍历1[ ]2迭代器3const迭代器4范围for5auto6总结三String的尾插1size和length2max_size,capacity和clear3访问接口4尾插字符和字符串5 append的重载三string的扩容问题(1)怎么扩容(2&#…...

github和Visual Studio

1、代码下载和提交 GitHubDesktopSetup-x64.exe 使用很简单,自己稍微琢磨下就明白了。 2、Visual Studio 2022 2.1 安装组件及学习内容 Visual Studio 中的 CMake 项目 | Microsoft Learn 2.2 打开 CMakeLists.txt 文件 定位并选择 CMakeLists.txt 文件 …...

django框架-settings.py文件的配置说明

以下是一些Django的核心配置和其默认值. 下面列出了contrib应用提供的配置, 后面是核心配置的专题索引. 关于介绍性资料, 详见 settings指南. ABSOLUTE_URL_OVERRIDES 默认值: {} (空字典) 它是一个将 “app_label.model_name” 字符串映射到接受模型对象并返回其URL的函数的…...

【C语言】缺陷管理流程

请解释一下缺陷管理流程,包括缺陷的发现、跟踪、验证和关闭等环节。 缺陷管理流程是一种软件质量保证过程,其目的是识别、记录、分析、解决并最终消除程序中的错误或问题。以下是这个流程的主要步骤: 缺陷发现 (Bug Discovery): 这通常是通过…...

基于深度学习的猫狗识别

基于深度学习的猫狗识别是计算机视觉领域中的一个经典问题,它主要利用深度学习技术来训练和构建模型,以便能够自动区分和识别图像中的猫和狗。以下是一个基于深度学习的猫狗识别的简要介绍: 一、数据集准备 要实现猫狗识别,首先需…...

java组件安全

Solr 默认端口&#xff1a;8983 命令执行&#xff08;cve-2019-17558&#xff09; 影响版本&#xff1a;5.0.0-8.3.1 https://github.com/jas502n/solr_rce 远程命令执行&#xff08;cve-2019-0193&#xff09; 影响版本&#xff1a;<8.2.0 条件&#xff1a;DataImport…...

【MongoDB】MongoDB的核心-索引原理及索引优化、及查询聚合优化实战案例(超详细)

文章目录 一、数据库查询效率问题引出索引需求二、索引的基本原理及作用&#xff08;一&#xff09;索引的创建及数据组织&#xff08;二&#xff09;不同类型的索引&#xff08;三&#xff09;索引的额外属性 三、索引的优化与查询计划分析&#xff08;一&#xff09;通过prof…...

qt QProcess详解

1、概述 QProcess是Qt框架提供的一个类&#xff0c;它用于在应用程序中执行外部进程。QProcess提供了一系列函数来启动、控制和与外部进程进行交互&#xff0c;使得开发者能够在自己的应用程序中集成和调用其他程序或服务。这个类在需要执行系统命令、启动其他应用程序或进行文…...

软件测试面试2024最新热点问题

大厂面试热点问题 1、测试人员需要何时参加需求分析&#xff1f; 如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工作的开展越有利 可以尽早的确定测试思路 减少与开发人员的交互 减少对需求理解上的偏差 2、软件测试与调试的关系 测…...

10款录屏工具推荐,聊聊我的使用心得!!!!

录屏软件已经成为我们的得力助手。不管是学习还是培训&#xff0c;或者工作会议等都时常需要录屏操作。经过深入实践和对比&#xff0c;我尝试了多款录屏软件。现在&#xff0c;我就来聊聊我个人使用过的几款录屏软件&#xff1a;我会尽量用最通俗的语言&#xff0c;分享我对这…...

VMware+Ubuntu+finalshell连接

安装教程&#xff1a;博客链接 下载地址&#xff1a;VMwareubuntu finalshell官网下载&#xff1a;finalshelll...

autodl+modelscope推理stable-diffusion-3.5-large

本篇介绍如何在服务器上实现SD3.5模型的加载及推理&#xff0c;不包含训练及微调。 磁盘扩容 autodl服务器在关机状态下&#xff0c;进行扩容&#xff1a; 选择要扩容的大小&#xff08;比如我这里已经扩了80G&#xff0c;默认有50G免费的&#xff09;&#xff0c;就会有一…...

深度学习之 LSTM

1.1 LSTM的产生原因 ​ RNN在处理长期依赖&#xff08;时间序列上距离较远的节点&#xff09;时会遇到巨大的困难&#xff0c;因为计算距离较远的节点之间的联系时会涉及雅可比矩阵的多次相乘&#xff0c;会造成梯度消失或者梯度膨胀的现象。为了解决该问题&#xff0c;研究人…...

LeetCode 3242.设计相邻元素求和服务:哈希表

【LetMeFly】3242.设计相邻元素求和服务&#xff1a;哈希表 力扣题目链接&#xff1a;https://leetcode.cn/problems/design-neighbor-sum-service/ 给你一个 n x n 的二维数组 grid&#xff0c;它包含范围 [0, n2 - 1] 内的不重复元素。 实现 neighborSum 类&#xff1a; …...

【AliCloud】ack + ack-secret-manager + kms 敏感数据安全存储

介绍 ack-secret-manager支持以Kubernetes Secret实例的形式向集群导入或同步KMS凭据信息&#xff0c;确保您集群内的应用能够安全地访问敏感信息。通过该组件&#xff0c;您可以实现密钥数据的自动更新&#xff0c;使应用负载通过文件系统挂载指定Secret实例来使用凭据信息&a…...

探索JavaScript的强大功能:从基础到高级应用

随着互联网技术的不断发展&#xff0c;JavaScript已经成为现代Web开发的基石。无论是简单的交互效果&#xff0c;还是复杂的前端框架&#xff0c;JavaScript都在其中扮演着不可或缺的角色。本文旨在对JavaScript进行深入探讨&#xff0c;从其基础概念到高级应用&#xff0c;并讨…...

新增支持Elasticsearch数据源,支持自定义在线地图风格,DataEase开源BI工具v2.10.2 LTS发布

2024年11月11日&#xff0c;人人可用的开源BI工具DataEase正式发布v2.10.2 LTS版本。 这一版本的功能变动包括&#xff1a;数据源方面&#xff0c;新增了对Elasticsearch数据源的支持&#xff1b;图表方面&#xff0c;对地图类和表格类图表进行了功能增强和优化&#xff0c;增…...

Spark的容错机制

1&#xff0c;Spark如何保障数据的安全 1、RDD容错机制&#xff1a;persist持久化机制 1&#xff09;cache算子 - 功能&#xff1a;将RDD缓存在内存中 - 语法&#xff1a;cache() - 本质&#xff1a;底层调用的还是persist&#xff08;StorageLevel.MEMORY_ONLY&#xff09;&…...

YOLOv8改进 | 利用YOLOv8进行视频划定区域目标统计计数

简介 本项目旨在利用YOLOv8算法来实现视频中划定区域目标的统计计数。YOLOv8是一种目标检测算法,能够实现实时目标检测和定位。视频划定区域目标统计计数是指在一个视频中,对于指定的区域,统计出该区域内出现的目标物体数量。 该项目的工作流程如下:首先,利用YOLOv8算法…...

基于yolov8、yolov5的番茄成熟度检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要&#xff1a;番茄成熟度检测在农业生产及质量控制中起着至关重要的作用&#xff0c;不仅能帮助农民及时采摘成熟的番茄&#xff0c;还为自动化农业监测提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的番茄成熟度检测模型&#xff0c;该模型使用了…...