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

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-事件监听机制

主要概念和组成部分:

  1. 事件源(Event Source)

    • 事件源是能够触发事件的对象,例如按钮、文本框、窗口等。在Java中,事件源通常是实现了事件监听接口的组件或对象。
  2. 事件(Event)

    • 事件是指在特定条件下发生的动作或状态改变,例如按钮被点击、鼠标移动等。
  3. 事件监听器(Event Listener)

    • 事件监听器是一个接口,定义了处理特定类型事件的方法。在Java中,事件监听器通常继承自 java.util.EventListener 接口。
  4. 事件处理器(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 &#xff1a; 指的就是 JDK 中提供的各种功能的 Java类。 2-Scanner基本使用 Scanner&#xff1a; 一个简单的文本扫描程序&#xff0c;可以获取基本类型数据和字符串数据 构造方法&#xff1a; Scanner(InputStream source)&#xff1a;创建 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是深度学习领域一种常用的类别特征数值化方法。在自然语言处理领域&#xff0c;Embedding用于将对自然语言文本做tokenization后得到的tokens映射成实数域上的向量。 本文介绍Embedding的基本原理&#xff0c;将训练大语言模型文本数据对应的tokens转换成Em…...

视频怎么压缩变小?最佳视频压缩器

即使在云存储和廉价硬盘空间时代&#xff0c;大视频文件使用起来仍然不方便。无论是存储、发送到电子邮件帐户还是刻录到 DVD&#xff0c;拥有最好的免费压缩软件可以确保您快速缩小文件大小&#xff0c;而不必担心视频质量下降。继续阅读以探索一些顶级最佳 免费视频压缩器选项…...

LLM - 绝对与相对位置编码 与 RoPE 旋转位置编码 源码

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/140281680 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Transformer 是基于 MHSA (多头自注意力),然而,MHSA 对于位置是不敏感…...

B3917 [语言月赛 202401] 小跳蛙

OK 挠~ stop here~ 好啊&#xff0c;现在呢&#xff0c;把手头的事情先放一放啊&#xff0c;我们来做道练习 OK&#xff1f; 好啊来&#xff1a; 小跳蛙 题目描述 有 &#x1d45b;−1 只小跳蛙在池塘中&#xff0c;依次被编号为 1,2,⋯ ,&#x1d45b;−1。池塘里有 &am…...

Bash ——shell

Bash作为用户与操作系统之间的接口&#xff0c;让用户通过命令行输入各种指令来控制和操作计算机系统。 shell的两种解释&#xff1a; 1.linux命令解释器 Terminal 终端 ——》shell命令 ——》 Linux kernel &#xff08;内核&#xff09; Linux内核的作用&#xff1a; 1.…...

PyTorch复现PointNet——模型训练+可视化测试显示

因为项目涉及到3D点云项目&#xff0c;故学习下PointNet这个用来处理点云的神经网络 论文的话&#xff0c;大致都看了下&#xff0c;网络结构有了一定的了解&#xff0c;本博文主要为了下载调试PointNet网络源码&#xff0c;训练和测试调通而已。 我是在Anaconda下创建一个新的…...

分享五款软件,成为高效生活的好助手

​ 给大家分享一些优秀的软件工具,是一件让人很愉悦的事情&#xff0c;今天继续带来5款优质软件。 1.图片放大——Bigjpg ​ Bigjpg是一款图片放大软件&#xff0c;采用先进的AI算法&#xff0c;能够在不损失图片质量的前提下&#xff0c;将低分辨率图片放大至所需尺寸。无论…...

代码随想录算法训练营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倍&#xff0c;是反转信号还是回光返照&#xff1f; 今天我们聊聊光学半导体龙头——韦尔股份。 上周末&#xff0c;韦尔股份发布半年业绩预告&#xff0c;预计上半年净利润13至14亿&#xff0c;同比增幅高达 754%至 819%。 然而&#xff0c;回首 2023 年它的净利仅 …...

docs | 使用 sphinx 转化rst文件为html文档

1. 效果图 book 风格。 优点&#xff1a; 极简风格右边有标题导航左侧是文件导航&#xff0c;可隐藏 2. 使用方式 reST 格式&#xff0c;比markdown格式更复杂。 推荐使用 book 风格。 文档构建工具是 sphinx&#xff0c;是一个python包。 $ pip3 list | grep -i Sphinx …...

【ChatGPT 消费者偏好】第二弹:ChatGPT在日常生活中的使用—推文分享—2024-07-10

今天的推文主题还是【ChatGPT & 消费者偏好】 第一篇&#xff1a;哪些动机因素和技术特征的组合能够导致ChatGPT用户中高和低的持续使用意图。第二篇&#xff1a;用户对ChatGPT的互动性、性能期望、努力期望以及社会影响如何影响他们继续使用这些大型语言模型的意向&#x…...

Webpack配置及工作流程

Webpack是一个现代JavaScript应用程序的静态模块打包器&#xff08;module bundler&#xff09;。当Webpack处理应用程序时&#xff0c;它会在内部构建一个依赖图&#xff08;dependency graph&#xff09;&#xff0c;该图会映射项目所需的每个模块&#xff0c;并生成一个或多…...

华为ensp实现防火墙的区域管理与用户认证

实验环境 基于该总公司内网&#xff0c;实现图片所在要求 后文配置请以本图为准 接口配置与网卡配置 1、创建vlan 2、防火墙g0/0/0与云页面登录 登录admin,密码Admin123&#xff0c;自行更改新密码 更改g0/0/0口ip&#xff0c;敲下命令service-manage all permit 网卡配置…...

深入解析 Laravel 策略路由:提高应用安全性与灵活性的利器

引言 Laravel 是一个功能强大的 PHP Web 应用框架&#xff0c;以其优雅和简洁的语法而受到开发者的喜爱。在 Laravel 中&#xff0c;路由是应用中非常重要的一部分&#xff0c;它负责将用户的请求映射到相应的控制器方法上。Laravel 提供了多种路由方式&#xff0c;其中策略路…...

Java | Leetcode Java题解之第228题汇总区间

题目&#xff1a; 题解&#xff1a; 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基于模型设计(三):建模并验证系统

可以对系统结构中的每个组件进行建模&#xff0c;以表示该组件的物理行为或功能行为。通过使用测试数据对组件进行仿真&#xff0c;以验证它们的基本行为。 打开系统布局 对各个组件进行建模时&#xff0c;需要从大局上把握整个系统布局。首先加载布局模型。这里以simulink自…...

基于go 1.19的站点模板爬虫

好像就三步: 1 建立http连接 2 解析html内容 3 递归遍历 创建一个基于 Go 1.19 的网站模板爬虫主要涉及几个步骤&#xff0c;包括设置 HTTP 客户端来获取网页内容、解析 HTML 来提取所需的数据&#xff0c;以及处理可能的并发和错误。下面我会给出一个简单的例子来说明如何…...

0基础学会在亚马逊云科技AWS上搭建生成式AI云原生Serverless问答QA机器人(含代码和步骤)

小李哥今天带大家继续学习在国际主流云计算平台亚马逊云科技AWS上开发生成式AI软件应用方案。上一篇文章我们为大家介绍了&#xff0c;如何在亚马逊云科技上利用Amazon SageMaker搭建、部署和测试开源模型Llama 7B。下面我将会带大家探索如何搭建高扩展性、高可用的完全托管云原…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...