Java-常用API
1-Java API :
指的就是 JDK 中提供的各种功能的 Java类。
2-Scanner基本使用
Scanner:
-
一个简单的文本扫描程序,可以获取基本类型数据和字符串数据
构造方法:
-
Scanner(InputStream source):创建 Scanner 对象
-
System.in:对应的是InputStream类型,可以表示键盘输入
-
Scanner sc = new Scanner(System.in);
成员方法:
-
int nextInt():获取一个int类型的数据
-
int i = sc.nextInt();
举例
import java.util.Scanner;/*Scanner的基本使用*/
public class ScannerDemo {public static void main(String[] args) {//Scanner(InputStream source):创建 Scanner 对象Scanner sc = new Scanner(System.in);//int nextInt():获取一个int类型的数据System.out.println("请输入一个整数:");int i = sc.nextInt();//输出获取到的数据System.out.println("你输入的数据是:" + i);}
}
3-Random的基本使用
Random:
-
该类的实例用于生成随机数
构造方法:
-
Random():创建一个新的随机数生成器
成员方法:
-
int nextInt(int bound):获取一个int类型的随机数,参数bound表示获取到的随机数在[0,bound)之间
举例
import java.util.Random;/*Random的基本使用*/
public class RandomDemo {public static void main(String[] args) {//Random():创建一个新的随机数生成器Random r = new Random();//int nextInt(int bound):获取一个int类型的随机数,参数bound表示获取到的随机数在[0,bound)之间
// int i = r.nextInt(10);
// System.out.println(i);// for (int i=1; i<=10; i++) {
// int j = r.nextInt(10);
// System.out.println(j);
// }//需求:如何获取1-100之间的随机数呢?
// int number = r.nextInt(100);//0-99
// int number = r.nextInt(101);//0-100int number = r.nextInt(100) + 1;System.out.println(number);}
}
4-GUI的基本使用
-
GUI:Graphical User Interface(图形用户接口)
-
用图形的方式,来显示计算机操作的界面
给大家举个例子,就像是这个样子

组件:
-
基本组件:具有图形表示的对象
-
容器组件:是可以添加组件的组件。也就是在容器中可以通过add方法添加组件,既可以添加基本组件,也可以添加容器组件。
基本组件:
-
JButton,这是按钮
-
JLabel,这是用来显示文本内容的,或者展示图片使用
-
JTextFile,这是文本框,用来输入内容的
-
JTextArea,这是文本域,用来输入多行多列的数据的
容器组件:
-
面板也是一个容器,我们常用JPanel
-
窗体,下面是Frame,这是awt包下,而我们使用的是JFrame,这是swing包下。
4-1JFrame
JFrame:
-
是一个顶层窗口
构造方法:
-
JFrame():构造一个最初不可见的新窗体
成员方法:
-
void setVisible(boolean b):显示或隐藏此窗体具体取决于参数b的值
-
void setSize(int width, int height):调整此组件的大小,使其宽度为width,高度为height,单位是像素
-
void setTitle(String title):设置窗体标题
-
void setLocationRelativeTo(Component c):设置位置,值为null,则窗体位于屏幕中央
-
void setDefaultCloseOperation(int operation):设置窗体关闭时默认操作
-
整数3表示:窗口关闭时退出应用程序
-
-
void setAlwaysOnTop(boolean alwaysOnTop):设置此窗口是否应始终位于其他窗口之上
举例
import javax.swing.*;public class JFrameDemo02 {public static void main(String[] args) {//创建窗体对象JFrame jf = new JFrame();//void setTitle(String title):设置窗体标题jf.setTitle("百度一下,你就知道");//设置窗体大小jf.setSize(400, 300);//void setDefaultCloseOperation(int operation):设置窗体关闭时默认操作(整数3表示:窗口关闭时退出应用程序)jf.setDefaultCloseOperation(3);//void setLocationRelativeTo(Component c):设置位置,值为null,则窗体位于屏幕中央jf.setLocationRelativeTo(null);//void setAlwaysOnTop(boolean alwaysOnTop):设置此窗口是否应始终位于其他窗口之上jf.setAlwaysOnTop(true);//设置窗体可见jf.setVisible(true);}
}
4-2JButton
JButton:
-
按钮的实现
构造方法:
-
JButton(String text):创建一个带文本的按钮
成员方法:
-
void setSize(int width, int height):设置大小
-
void setLocation(int x, int y):设置位置(x坐标,y坐标)
-
void setBounds(int x, int y, int width, int height):设置位置和大小
-
取消窗体默认布局:窗体对象.setLayout(null);
-
把按钮添加到窗体:窗体对象.add(按钮对象);
举例
import javax.swing.*;public class JButtonDemo {public static void main(String[] args) {//创建窗体对象JFrame jf = new JFrame();jf.setTitle("窗口中添加按钮");jf.setSize(400, 300);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);jf.setLayout(null); //取消窗体的默认布局//JButton(String text):创建一个带文本的按钮btn.setBounds(100,100,100,20);JButton btn2 = new JButton("我是按钮2");btn2.setBounds(100,120,100,20);jf.add(btn);jf.add(btn2);//设置窗体可见jf.setVisible(true);}
}
4-3JLabel
JLable:
-
短文本字符串或图像的显示区域
构造方法:
-
JLabel(String text):使用指定的文本创建 JLabel实例
-
JLabel(Icon image):使用指定的图像创建 JLabel实例
-
ImageIcon(String filename):从指定的文件创建ImageIcon
-
文件路径:绝对路径和相对路径
-
绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件
-
例如:D:\IdeaProjects\javase_code\itheima-api-gui\images\mn.png
-
-
相对路径:必须使用取自其他路径名的信息进行解释
-
例如:itheima-api-gui\images\mn.png
-
-
成员方法:
-
void setBounds(int x, int y, int width, int height):设置位置和大小
5-事件监听机制
主要概念和组成部分:
-
事件源(Event Source):
- 事件源是能够触发事件的对象,例如按钮、文本框、窗口等。在Java中,事件源通常是实现了事件监听接口的组件或对象。
-
事件(Event):
- 事件是指在特定条件下发生的动作或状态改变,例如按钮被点击、鼠标移动等。
-
事件监听器(Event Listener):
- 事件监听器是一个接口,定义了处理特定类型事件的方法。在Java中,事件监听器通常继承自
java.util.EventListener接口。
- 事件监听器是一个接口,定义了处理特定类型事件的方法。在Java中,事件监听器通常继承自
-
事件处理器(Event Handler):
- 事件处理器是实现了事件监听器接口的具体类,它包含了处理事件的代码逻辑。
举例
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;/*事件监听机制*/
public class ActionListenerDemo {public static void main(String[] args) {//创建窗体对象JFrame jf = new JFrame();jf.setTitle("事件监听机制");jf.setSize(400, 300);jf.setDefaultCloseOperation(3);jf.setLocationRelativeTo(null);jf.setAlwaysOnTop(true);jf.setLayout(null);//创建按钮JButton jButton = new JButton("你点我啊");jButton.setBounds(0, 0, 100, 100);jf.add(jButton);jButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("你点我啊");}});jf.setVisible(true);}
}
相关文章:
Java-常用API
1-Java API : 指的就是 JDK 中提供的各种功能的 Java类。 2-Scanner基本使用 Scanner: 一个简单的文本扫描程序,可以获取基本类型数据和字符串数据 构造方法: Scanner(InputStream source):创建 Scanner 对象 Sy…...
Python从Excel表中查找指定数据填入新表
#读取xls文件中的数据 import xlrd file "原表.xls" wb xlrd.open_workbook(file) #读取工作簿 ws wb.sheets()[0] #选第一个工作表 data [] for row in range(7, ws.nrows): name ws.cell(row, 1).value.strip() #科室名称 total1 ws.cell(row, 2…...
从零开始实现大语言模型(三):Token Embedding与位置编码
1. 前言 Embedding是深度学习领域一种常用的类别特征数值化方法。在自然语言处理领域,Embedding用于将对自然语言文本做tokenization后得到的tokens映射成实数域上的向量。 本文介绍Embedding的基本原理,将训练大语言模型文本数据对应的tokens转换成Em…...
视频怎么压缩变小?最佳视频压缩器
即使在云存储和廉价硬盘空间时代,大视频文件使用起来仍然不方便。无论是存储、发送到电子邮件帐户还是刻录到 DVD,拥有最好的免费压缩软件可以确保您快速缩小文件大小,而不必担心视频质量下降。继续阅读以探索一些顶级最佳 免费视频压缩器选项…...
LLM - 绝对与相对位置编码 与 RoPE 旋转位置编码 源码
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/140281680 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Transformer 是基于 MHSA (多头自注意力),然而,MHSA 对于位置是不敏感…...
B3917 [语言月赛 202401] 小跳蛙
OK 挠~ stop here~ 好啊,现在呢,把手头的事情先放一放啊,我们来做道练习 OK? 好啊来: 小跳蛙 题目描述 有 𝑛−1 只小跳蛙在池塘中,依次被编号为 1,2,⋯ ,𝑛−1。池塘里有 &am…...
Bash ——shell
Bash作为用户与操作系统之间的接口,让用户通过命令行输入各种指令来控制和操作计算机系统。 shell的两种解释: 1.linux命令解释器 Terminal 终端 ——》shell命令 ——》 Linux kernel (内核) Linux内核的作用: 1.…...
PyTorch复现PointNet——模型训练+可视化测试显示
因为项目涉及到3D点云项目,故学习下PointNet这个用来处理点云的神经网络 论文的话,大致都看了下,网络结构有了一定的了解,本博文主要为了下载调试PointNet网络源码,训练和测试调通而已。 我是在Anaconda下创建一个新的…...
分享五款软件,成为高效生活的好助手
给大家分享一些优秀的软件工具,是一件让人很愉悦的事情,今天继续带来5款优质软件。 1.图片放大——Bigjpg Bigjpg是一款图片放大软件,采用先进的AI算法,能够在不损失图片质量的前提下,将低分辨率图片放大至所需尺寸。无论…...
代码随想录算法训练营DAY58|101.孤岛的总面积、102.沉没孤岛、103. 水流问题、104.建造最大岛屿
忙。。。写了好久。。。。慢慢补吧。 101.孤岛的总面积 先把周边的岛屿变成水dfs def dfs(x, y, graph, s):if x<0 or x>len(graph) or y<0 or y>len(graph[0]) or graph[x][y]0:return sgraph[x][y]0s1s dfs(x1, y, graph, s)s dfs(x-1, y, graph, s)s dfs(…...
韦尔股份:深蹲起跳?
利润大增7倍,是反转信号还是回光返照? 今天我们聊聊光学半导体龙头——韦尔股份。 上周末,韦尔股份发布半年业绩预告,预计上半年净利润13至14亿,同比增幅高达 754%至 819%。 然而,回首 2023 年它的净利仅 …...
docs | 使用 sphinx 转化rst文件为html文档
1. 效果图 book 风格。 优点: 极简风格右边有标题导航左侧是文件导航,可隐藏 2. 使用方式 reST 格式,比markdown格式更复杂。 推荐使用 book 风格。 文档构建工具是 sphinx,是一个python包。 $ pip3 list | grep -i Sphinx …...
【ChatGPT 消费者偏好】第二弹:ChatGPT在日常生活中的使用—推文分享—2024-07-10
今天的推文主题还是【ChatGPT & 消费者偏好】 第一篇:哪些动机因素和技术特征的组合能够导致ChatGPT用户中高和低的持续使用意图。第二篇:用户对ChatGPT的互动性、性能期望、努力期望以及社会影响如何影响他们继续使用这些大型语言模型的意向&#x…...
Webpack配置及工作流程
Webpack是一个现代JavaScript应用程序的静态模块打包器(module bundler)。当Webpack处理应用程序时,它会在内部构建一个依赖图(dependency graph),该图会映射项目所需的每个模块,并生成一个或多…...
华为ensp实现防火墙的区域管理与用户认证
实验环境 基于该总公司内网,实现图片所在要求 后文配置请以本图为准 接口配置与网卡配置 1、创建vlan 2、防火墙g0/0/0与云页面登录 登录admin,密码Admin123,自行更改新密码 更改g0/0/0口ip,敲下命令service-manage all permit 网卡配置…...
深入解析 Laravel 策略路由:提高应用安全性与灵活性的利器
引言 Laravel 是一个功能强大的 PHP Web 应用框架,以其优雅和简洁的语法而受到开发者的喜爱。在 Laravel 中,路由是应用中非常重要的一部分,它负责将用户的请求映射到相应的控制器方法上。Laravel 提供了多种路由方式,其中策略路…...
Java | Leetcode Java题解之第228题汇总区间
题目: 题解: class Solution {public List<String> summaryRanges(int[] nums) {List<String> ans new ArrayList<>();for (int i 0, j, n nums.length; i < n; i j 1) {j i;while (j 1 < n && nums[j 1] num…...
使用Simulink基于模型设计(三):建模并验证系统
可以对系统结构中的每个组件进行建模,以表示该组件的物理行为或功能行为。通过使用测试数据对组件进行仿真,以验证它们的基本行为。 打开系统布局 对各个组件进行建模时,需要从大局上把握整个系统布局。首先加载布局模型。这里以simulink自…...
基于go 1.19的站点模板爬虫
好像就三步: 1 建立http连接 2 解析html内容 3 递归遍历 创建一个基于 Go 1.19 的网站模板爬虫主要涉及几个步骤,包括设置 HTTP 客户端来获取网页内容、解析 HTML 来提取所需的数据,以及处理可能的并发和错误。下面我会给出一个简单的例子来说明如何…...
0基础学会在亚马逊云科技AWS上搭建生成式AI云原生Serverless问答QA机器人(含代码和步骤)
小李哥今天带大家继续学习在国际主流云计算平台亚马逊云科技AWS上开发生成式AI软件应用方案。上一篇文章我们为大家介绍了,如何在亚马逊云科技上利用Amazon SageMaker搭建、部署和测试开源模型Llama 7B。下面我将会带大家探索如何搭建高扩展性、高可用的完全托管云原…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
