Java实验08
实验一
demo.java
package q8.demo02;public class demo{public static void main(String[] args) {WindowMenu win = new WindowMenu("Hello World",20,30,600,290);}
}
WindowMenu.java
package q8.demo02;
import javax.swing.*;public class WindowMenu extends JFrame{JMenuBar menubar;JMenu menu1,menu2,menu3;//状态栏菜单JMenuItem Item1,Item2,Item3,Item3_1,Item3_2;//public WindowMenu(){}public WindowMenu(String s, int x, int y, int w, int h){init(s);setLocation(x,y);setSize(w,h);setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}void init(String s){setTitle(s);//设置标题menubar = new JMenuBar();menu1 = new JMenu("文件");menu2 = new JMenu("编辑");menu3 = new JMenu("帮助");Item1 = new JMenuItem("新建(N)");Item2 = new JMenuItem("打开(O)");Item3 = new JMenu("退出(E)");Item3_1 = new JMenuItem("重启");Item3_2 = new JMenuItem("退出");menu1.add(Item1);//按钮新建menu1.add(Item2);//按钮打开menu1.addSeparator();//分割线menu1.add(Item3);//按钮退出//添加二级菜单Item3.add(Item3_1);Item3.add(Item3_2);setJMenuBar(menubar);//设置状态栏菜单menubar.add(menu1);//添加菜单menu123menubar.add(menu2);menubar.add(menu3);}
}
实验二
Demo.java
package q8.demo03;public class Demo {public static void main(String[] args) {new ShowLayout();}}
ShowLayout.java
package q8.demo03;
import java.awt.*;
import javax.swing.*;public class ShowLayout extends JFrame {PanelGridLayout panelGrid;PanelNullLayout panelNull;JTabbedPane p;ShowLayout(){setTitle("背包");panelGrid = new PanelGridLayout();panelNull = new PanelNullLayout();p = new JTabbedPane();p.add("武器",panelGrid);p.add("法器",panelNull);add(p,BorderLayout.CENTER);add(p,BorderLayout.CENTER);setBounds(300,100,600,600);setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);validate();}
}
PanelGridLayout.java
package q8.demo03;
import java.awt.*;
import javax.swing.*;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class PanelGridLayout extends JPanel {PanelGridLayout(){GridLayout grid = new GridLayout(5,5);String[] texts = {"蛟龙铲","祁水","琉璃","夷图","若禅","应龙斧","虬龙棍","蟠龙杖","蛟龙弓","蝴蝶","知汝","梦江","天殇","天罪","天残","天荒","银弹金弓","花宴","不朽花翼","破幻花链","镇魂花坠","苍龙戒","阴阳斩龙剑","青龙剑","混元珍珠伞",};setLayout(grid);JLabel label[][] = new JLabel[5][5];JLabel textLabel[][] = new JLabel[5][5];for (int j =0; j < 5; j++){for (int i = 0; i < 5; i++){label[i][j] = new JLabel();int imageIndex = (j * 5) + i + 1; // 计算当前图片的索引String imagePath = "src\\pictures\\arms (" + imageIndex + ").png";label[i][j] = new JLabel();textLabel[i][j] = new JLabel();if (imageIndex <= texts.length) {textLabel[i][j].setText(texts[imageIndex - 1]);}if (new java.io.File(imagePath).exists()) {label[i][j].setIcon(new ImageIcon(imagePath));} else {System.out.println("没有找到: " + imagePath);}JPanel container = new JPanel(new BorderLayout());container.add(label[i][j], BorderLayout.CENTER);container.add(textLabel[i][j], BorderLayout.SOUTH);add(container);}}}
}
PanelNullLayout.java
package q8.demo03;
import java.awt.*;
import javax.swing.*;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class PanelNullLayout extends JPanel{PanelNullLayout(){GridLayout grid = new GridLayout(5,5);String[] texts = {"间忏无形铲","间忏千斤锤","间忏鬼牙耙","间忏殉道书","间忏绝情杖","间忏拳套","间忏逍遥棍","间忏脩夜刀","间忏附灵杵","间忏承影剑","间忏七星枪","间忏夜魔弓","开阳禅杖","开阳灵棒","摇光剑","神将剑","暮雪剑","归墟剑","无极剑","开阳剑","开阳铲","开阳钉耙","开阳灵枪","开阳灵刃","赤龙枪",};setLayout(grid);JLabel label[][] = new JLabel[5][5];JLabel textLabel[][] = new JLabel[5][5];for (int j =0; j < 5; j++){for (int i = 0; i < 5; i++){label[i][j] = new JLabel();int imageIndex = (j * 5) + i + 1;String imagePath = "src\\pictures\\weapon (" + imageIndex + ").png";label[i][j] = new JLabel();textLabel[i][j] = new JLabel();if (imageIndex <= texts.length) {textLabel[i][j].setText(texts[imageIndex - 1]);}if (new java.io.File(imagePath).exists()) {label[i][j].setIcon(new ImageIcon(imagePath));}else {System.out.println("没有找到: " + imagePath);}JPanel container = new JPanel(new BorderLayout());container.add(label[i][j], BorderLayout.CENTER);container.add(textLabel[i][j], BorderLayout.SOUTH);add(container);}}}
}相关文章:
Java实验08
实验一 demo.java package q8.demo02;public class demo{public static void main(String[] args) {WindowMenu win new WindowMenu("Hello World",20,30,600,290);} }WindowMenu.java package q8.demo02; import javax.swing.*;public class WindowMenu extends…...
MyBatis复习笔记
3.Mybatis复习 3.1 xml配置 properties:加载配置文件 settings:设置驼峰映射 <settings><setting name"mapUnderscoreToCamelCase" value"true"/> </settings>typeAliases:类型别名设置 #这样在映射…...
HTML的基石:区块标签与小语义标签的深度解析
📚 HTML的基石:区块标签与小语义标签的深度解析 🌐 区块标签:构建网页的框架🏠 <div>:万能的容器📚 <section>、<article>、<aside>:语义化的布局 …...
Windows域控简介
一、Windows 域控概念 Windows 域控即 Active Directory(AD)域控制器,它是 Windows Server 中的一个角色,用于管理网络中的用户帐户、计算机和其他设备。AD 域控制器的功能包括: 用户认证:允许用户通过用…...
项目延期,不要随意加派人手
遇到软件项目出现延期的情况时,不建议随意加派人手。原因如下: 有些任务是不可拆分的,不能拆分为多个并行任务,增加人员不会加快项目进度。新增加人员需要原有人员介绍项目中的技术架构、业务知识,在开发过程中也难免…...
帝国CMS验证码不显示怎么回事呢?
帝国CMS验证码有时候会不显示或打叉,总结自己的解决方法。 1、检查服务器是否开启GD库 测试GD库是否开启的方法:浏览器访问:/e/showkey/index.php,如果出现一堆乱码或报错,证明GD库没有开启,开启即可。 2…...
【必会面试题】Redis 中的 zset数据结构
目录 Redis 中的 zset(sorted set,有序集合)数据结构在底层可以使用两种不同的实现:压缩列表(ziplist) 和 跳跃表(skiplist)。具体使用哪种结构取决于存储元素的数量和大小ÿ…...
括号匹配数据结构
括号匹配是一种数据结构问题,用于检查给定的字符串中的括号是否匹配。例如,对于字符串 "((())())",括号是匹配的,而对于字符串 "())(",括号是不匹配的。 常见的解决括号匹配问题的数据结构是栈。…...
c语言:strcmp
strcmp函数是用于比较两个字符串的库函数,其功能是根据ASCII值逐一对两个字符串进行比较。 语法:strcmp(str1, str2) 返回值: 如果str1等于str2,则返回0。 如果str1小于str2,则返回负数(具体值取决于C…...
传统关系型数据库与hive的区别
数据库和Hive之间存在本质的区别,主要体现在设计目的、数据处理方式、数据存储、查询延迟、数据更新能力、以及适用场景等方面。下面详细阐述它们之间的主要差异: 设计目的与应用场景: 数据库:主要是面向事务处理(OLTP…...
windows-386、windows-amd64、windows-arm64这三者有什么区别?
选择文件的版本出现下面问题: Architectures windows-386 :这些是针对 32 位 Windows 系统编译的。windows-amd64 :这些是针对具有 AMD 或 Intel x86-64 架构的 64 位 Windows 系统编译的。windows-arm64 :这些是针对具有 ARM 架…...
链表经典题目—相交链表和链表倒数第k个节点
🎉🎉🎉欢迎莅临我的博客空间,我是池央,一个对C和数据结构怀有无限热忱的探索者。🙌 🌸🌸🌸这里是我分享C/C编程、数据结构应用的乐园✨ 🎈🎈&…...
Java 写入 influxdb
利用Python随机生成一个1000行的csv文件 import csv import random from datetime import datetime, timedelta from random import randint, choice# 定义监控对象列表和指标名称列表 monitor_objects [Server1, Server2, Server3, DB1] metric_names [CPUUsage, MemoryUsa…...
npm的基本命令和用法
1. 安装与初始化 安装npm 首先,确保你的系统中已安装了Node.js,因为npm随Node.js一同分发。访问Node.js官网下载并安装适合你操作系统的版本。安装完成后,在终端或命令提示符中输入以下命令来验证安装: 1$ node -v 2$ npm -v …...
Python 基于深度图、RGB图生成RGBD点云数据
RGBD点云生成 一、概述1.1 定义1.2 函数讲解二、代码示例三、结果示例一、概述 1.1 定义 RGBD点云:是一种包含颜色和深度信息的点云数据。RGB代表红、绿、蓝三原色,表示点云中每个点的颜色信息;D代表深度,表示点云中每个点的相对于相机的距离信息。通过结合颜色和深度信息…...
力扣刷题--LCR 075. 数组的相对排序【简单】
题目描述 给定两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 …...
机器学习笔记——K近邻算法、手写数字识别
KNN算法 “物以类聚,人以群分”相似的数据往往拥有相同的类别 其大概原理就是一个样本归到哪一类,当前样本需要归到频次最高的哪个类去 也就是说有一个待分类的样本,然后跟他周围的k个样本来看,k中哪一个类最多,待分类…...
基于STM32实现智能园艺系统
目录 引言环境准备智能园艺系统基础代码示例:实现智能园艺系统 土壤湿度传感器数据读取水泵控制温湿度传感器数据读取显示系统用户输入和设置应用场景:智能农业与家庭园艺问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式系统…...
网络原理-HTTP协议
HTTP协议 HTTP协议全称为超文本传输协议,除了能传输字符串,还能传输图片、视频、音频等。 当我们在访问网页的时候,浏览器会从服务器上下载数据,这些数据都会放在HTTP响应中,然后浏览器再根据这个HTTP响应显示出网页信息。 抓包 抓包工具本质上是一个代理工具,即我们将构造…...
【ES001】elasticsearch实战经验总结(最近更新中)
1.熟悉、梳理、总结下elasticsearch相关知识体系。 2.日常研发过程中使用较少,随着时间的推移,很快就忘得一干二净,所以梳理总结下,以备日常使用参考 3.欢迎批评指正,跪谢一键三连! 文章目录 1. 1....
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
