Java-常用API

news2024/9/20 16:49:01

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-100
        int 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() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("你点我啊");
            }
        });

        jf.setVisible(true);
    }
}

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

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

相关文章

Python地图可视化三大秘密武器

Python地图可视化库有大家熟知的pyecharts、plotly、folium&#xff0c;还有稍低调的bokeh、basemap、geopandas&#xff0c;也是地图可视化利器。 首先介绍下bokeh bokeh擅长制作交互式图表&#xff0c;当然在地图展示方面也毫不逊色。 Bokeh支持google地图、geojson数据的地…

枚举trick,CF 489D - Unbearable Controversy of Being

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 489D - Unbearable Controversy of Being 二、解题报告 1、思路分析 对于这种计算图形数目&#xff0c;最朴素的暴力无非是枚举每个顶点&#xff0c;这样时间复杂度会很高 策略往往是固定些点&#xff0c;…

在ROS (Robot Operating System) 中,查看话题(topics)

在ROS (Robot Operating System) 中&#xff0c;查看话题&#xff08;topics&#xff09;上发布的消息内容可以通过多种方式实现。以下是几种常用的方法&#xff1a; 1. 使用 rostopic echo 这是最直接的方式&#xff0c;可以用来实时显示话题上接收到的消息数据。命令格式如…

简单状压dp(以力扣464为例)

目录 1.状态压缩dp是啥&#xff1f; 2.题目分析 3.解题思路 4.算法分析 5.代码分析 6.代码一览 7.结语 1.状态压缩dp是啥&#xff1f; 顾名思义&#xff0c;状态压缩dp就是将原本会超出内存限制的存储改用更加有效的存储方式。简而言之&#xff0c;就是压缩dp的空间。 …

学习大数据DAY13 PLSQL基础语法2

目录 选择结构 IF语句 简单判断语句 带判断不成立语句 多判断语句 IF语句注意事项&#xff1a; CASE 语句 简单CASE语句 搜索型CASE语句 作业 循环语句 循环结构 简单循环 属性 描述 位置 场景 WHILE循环 属性 FOR循环 数值型for循环 数值型for循环的特性…

如何将若依vue升级到springboot3.x?

为了确保项目符合要求,Spring Boot 3.x 要求Java版本为17或更高。 1、修改根目录下的pom.xml文件 <!-- java.version版本8更换为17 --> <java.version>17</java.version><!-- 新增节点 --> <mybatis-spring-boot.version>3.0.3<

手撸俄罗斯方块(四)——渲染与交互

手撸俄罗斯方块&#xff08;四&#xff09;——渲染与交互 如何渲染游戏界面 我们知道&#xff0c;当我们看到页面先呈现图像时&#xff0c;实际上看到的是一张图片&#xff0c;多张图片按照一定的刷新频率进行切换&#xff0c;则变成了动态的视频。当刷新频率超过24Hz时&…

PDF 分割拆分 API 数据接口

PDF 分割拆分 API 数据接口 文件处理&#xff0c;PDF 高效的 PDF 分割工具&#xff0c;高效处理&#xff0c;可永久存储。 1. 产品功能 高效处理大文件&#xff1b;支持多语言字符识别&#xff1b;支持 formdata 格式 PDF 文件流传参&#xff1b;支持设置每个 PDF 文件的页数…

Java面试八股之Redis单线程为什么性能高

Redis单线程为什么性能高 1.内存数据库特性 要点&#xff1a;Redis是一个内存数据库&#xff0c;其数据主要存储在内存中&#xff0c;而非磁盘。内存访问的速度远超磁盘&#xff0c;通常可达纳秒级别&#xff0c;这使得Redis在处理数据时几乎不受I/O瓶颈的影响。由于数据操作…

【机器学习理论基础】回归模型定义和分类

定义 回归分析是研究自变量与因变量之间数量变化关系的一种分析方法&#xff0c;它主要是通过因变量 Y Y Y与影响它的自变量 X i X_i Xi​ 之间的回归模型&#xff0c;衡量自变量 X i X_i Xi​ 对因变量 Y Y Y 的影响能力的&#xff0c;进而可以用来预测因变量Y的发展趋势。…

7.10日学习打卡----初学Redis(五)

7.10日学习打卡 目录&#xff1a; 7.10日学习打卡一. redis功能流水线pipeline什么是流水线&#xff1f;pipeline实现使用pipeline 发布与订阅Redis的发布与订阅发布订阅命令行实现 慢查询Redis命令执行的整个过程如何进行配置实践建议 二 . redis的持久化机制RDB持久化机制触发…

[ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)

最新消息ICVISP 2024-已通过ACM出版申请投稿免费参会&#xff0c;口头汇报或海报展示(可获得相应证明证书) ————————————————————————————————————————— [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议&#xff08;ICVI…

传感器标定(三)激光雷达外参标定(lidar2ins)

一、数据采集 1、LiDAR 传感器的 LiDAR PCD 数据 2、来自 IMU 传感器的姿势文件 3、手动测量传感器之间外部参数初始值并写入的 JSON 文件 二、下载标定工具 //总的git地址&#xff1a; https://github.com/PJLab-ADG/SensorsCalibration git地址&#xff1a; https://githu…

人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解。回归分析是统计学和机器学习中的一种重要方法&#xff0c;用于研究因变量和自变量之间的关系。在机器学习中&#xff0c;回归算法被广泛应用于…

从零开始的python学习生活2

接上封装 class Phone:__volt0.5def __keepsinglecore(self):print("让cpu以单核运行")def if5G(self):if self.__volt>1:print("5G通话已开启")else:self.__keepsinglecore()print("电量不足&#xff0c;无法使用5G通话&#xff0c;已经设置为单…

【NLP学习笔记】transformers中的tokenizer切词时是否返回token_type_ids

结论 先说结论&#xff1a; 是否返回token_type_ids&#xff0c;可以在切词时通过 return_token_type_idsTrue/False指定&#xff0c;指定了True就肯定会返回&#xff0c;指定False&#xff0c;不一定就不返回。 分析 Doc地址 https://huggingface.co/docs/transformers/main…

MATLAB | 如何使用MATLAB优雅的推公式,全网最全MATLAB符号表达式使用教程

HEY&#xff0c; 各位这次是真的好久不见&#xff0c;本期推送来教大家如何使用MATLAB推公式并使用推出来的结果。 本文说白了就是讲符号表达式这个东西咋用&#xff0c;所使用最重要的函数就是syms&#xff0c;在开始前&#xff0c;首先要保证自己的MATLAB安装了Symbolic Mat…

【Pytorch】RNN for Image Classification

文章目录 1 RNN 的定义2 RNN 输入 input, h_03 RNN 输出 output, h_n4 多层5 小试牛刀 学习参考来自 pytorch中nn.RNN()总结RNN for Image Classification(RNN图片分类–MNIST数据集)pytorch使用-nn.RNN 1 RNN 的定义 nn.RNN(input_size, hidden_size, num_layers1, nonlinea…

特斯拉的人形机器人最新展示,穿戴遥操作示教的机器人学习!

在机器人领域&#xff0c;特斯拉的人形机器人一直备受关注。2021 年&#xff0c;在「特斯拉 AI 日」上&#xff0c;马斯克发布了特斯拉的通用机器人计划&#xff0c;并用图片展示了人形机器人 Tesla Bot 的大致形态。但当时的 Tesla Bot 只是个概念&#xff0c;动作展示部分是由…

C++基础学习笔记

1.命名空间(namespace) 1.什么是命名空间&命名空间的作用 1.在C/C中&#xff0c;变量、函数、类都是大量存在的&#xff0c;这些变量等的名称将都存在于全局作用域中&#xff0c;就会导致很多的命名冲突等。使用命名空间的目的就是对标识符的名称进行本地化&#xff0c;以…