我把皮小浪の的 蓝色妖姬系列做进了java窗口

news2024/10/6 4:04:12

在这里插入图片描述

👨‍💻个人主页:@元宇宙-秩沅

hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

本文由 秩沅 原创

收录于专栏 unity实战入门


       ⭐效果图如下 ⭐

在这里插入图片描述


 ⭐涉及的相关类的包含关系图 ⭐

在这里插入图片描述
# 视频入口:请点击

文章目录

  • 一,基本创建
    • 👨‍💻窗口是怎么创建的
    • 👨‍💻美化窗口和组件添加
    • 👨‍💻完整代码
  • 二, 皮小浪,我来了
    • 👨‍💻菜单条,菜单,子菜单
    • 👨‍💻照片的插入
    • 👨‍💻相关的代码以及解释👍
  • 三,语句解释
    • 👨‍💻关键语句解释👍
    • 👨‍💻注释语句解释👍

一,基本创建


👨‍💻窗口是怎么创建的

图片
在这里插入图片描述

代码

package jiemian;

import javax.swing.JFrame;
@SuppressWarnings("unused")
public class Man {
    public static void main(String[] args) {
		
		JFrame windows1  = new JFrame("第一个窗口");
		JFrame windows2 = new JFrame("第二个窗口");
	   //setVisible 设置可见状态
        windows1.setVisible(true);  
		windows1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		windows2.setVisible(true);
		windows1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

关键代码解释
windows1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); windows1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); *
那么括号里面的是什么意思呢,见如下:

    (1)DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):
          不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。
    (2)HIDE_ON_CLOSE(在 WindowConstants 中定义):
          调用任意已注册的 WindowListener 对象后自动隐藏该窗体。
    (3)DISPOSE_ON_CLOSE(在 WindowConstants 中定义):
          调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。
    (4)EXIT_ON_CLOSE(在 JFrame 中定义):
           使用 System exit 方法退出应用程序。仅在应用程序中使用。

👨‍💻美化窗口和组件添加

背景色

   //getContentPane 获取内容面板
	Container con = windows1.getContentPane();
	//将背景变成黑色
	con.setBackground(Color.BLACK );
	  图如下:

在这里插入图片描述

大小设置

    //设置边界大小 ,Bounds -->边界
	windows1.setBounds(200,200,200,400);
	如下图所示:

在这里插入图片描述
在这里插入图片描述


👨‍💻完整代码

package jiemian;

import java.awt.*;
import javax.swing.*;
@SuppressWarnings("unused")
public class Man {
    public static void main(String[] args) {
		
		JFrame windows1  = new JFrame("第一个窗口");
	    //getContentPane 获取内容面板
		Container con = windows1.getContentPane();
		//设置背景色
		con.setBackground(Color.BLACK );
		//设置边界大小
		windows1.setBounds(200,200,200,400);
	    //setVisible 设置可见状态
		windows1.setVisible(true);  
		windows1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		
	}
}




二, 皮小浪,我来了

放大

👨‍💻菜单条,菜单,子菜单

JMenuBar menubar;    //菜单条
JMenu menu,subMenu;  //菜单
JMenuItem i1,i2,i3,i4,i5;  //子菜单

👨‍💻照片的插入

 subMenu = new JMenu("切尔西");
 subMenu.setIcon(new ImageIcon("切尔西.jpg"));

 **照片素材需保存至对应的项目包中**

在这里插入图片描述

👨‍💻相关的代码以及解释👍

package ttt;

import javax.swing.*;

import java.awt.Color;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import static javax.swing.JFrame.*;
@SuppressWarnings("unused")
public class MM {
 
	public static void main(String[] args) 
	{
		@SuppressWarnings("unused")
		WindowMenu win=new WindowMenu("皮小浪",500,0,600,500);
	}
}
class WindowMenu extends JFrame
  {
	
	JMenuBar menubar;    //菜单条
	JMenu menu,subMenu;  //菜单
	JMenuItem i1,i2,i3,i4,i5;  //子菜单
	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(DISPOSE_ON_CLOSE);
	}
	void init(String s)
	{
		setTitle(s);
		menubar=new JMenuBar();
		menu=new JMenu("get jio");
	    subMenu = new JMenu("切尔西");
	    //给菜单添加图片
	    subMenu.setIcon(new ImageIcon("切尔西.jpg"));
	    //给子菜单添加图片
		i1=new JMenuItem("粉红回忆",new ImageIcon("粉红回忆.jpg"));
		i2=new JMenuItem("红色风暴",new ImageIcon("红色风暴.jpg"));
		i3=new JMenuItem("蓝色妖姬",new ImageIcon("蓝色妖姬.jpg"));
		i4=new JMenuItem("黑色沉默",new ImageIcon("黑色沉默.jpg"));
		i5=new JMenuItem("清纯萝莉",new ImageIcon("清纯萝莉.jpg"));
	  
		//i1.setAccelerator(KeyStroke.getKeyStroke('A'));
		//i2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
		menu.add(i1);
		//menu.addSeparator();
		//从菜单menu中添加子菜单
		menu.add(i2);
		menu.add(i3);
		menu.add(i4);
		menu.add(i5);
		
		//在菜单条中添加 menu 和submenu两个菜单
		menubar.add(menu);
		menubar.add(subMenu);
		//关键:设置菜单条
		setJMenuBar(menubar);
	}
}

三,语句解释


👨‍💻关键语句解释👍

   //关键:设置菜单条
	setJMenuBar(menubar);

    该语句若消失则显示不出画面,因为菜单和子菜单都在菜单条上面,
    所以设置菜单条最为重要

👨‍💻注释语句解释👍

**用于抑制编译器产生警告信息

@SuppressWarnings("serial")

**抑制单类型警告

@SuppressWarnings("unchecked")

**抑制所有类型警告

@SuppressWarnings("all")

**去除属性上的黄色警告

@SuppressWarnings("unused") 表示该属性在方法或类中没有使用。添加此

你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!
栓Q

在这里插入图片描述

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

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

相关文章

比 O(nlog(n)) 做得更好——2.改变问题以及排序和填充数组

改变问题,以及对键进行排序和填充数组。 目录 【第1篇】比 O(nlog(n)) 做得更好——1.创造合适的条件 长按关注《Python学研大本营》,加入读者群,分享更多精彩 扫码关注《Python学研大本营》,加入读者群,分享更多精彩 …

【Redis-04】Redis两种持久化方式

Redis是基于内存的数据结构服务器,保存了大量的键值对数据,所以持久化到磁盘是非常必要的,Redis提供了两种持久化的方式,分别是RDB和AOF。下面我们看下这两种持久化方式的具体实现原理。 1.RDB持久化 首先,RDB持久化方…

【Spring(二)】java对象属性的配置(Bean的配置)

有关Spring的所有文章都收录于我的专栏:👉Spring👈 目录 一、前言 二、通过Setter方法配置Bean 三、通过构造器配置Bean   1. 通过属性名配置   2. 通过索引配置   3. 通过属性类型配置 四、通过p命名空间配置bean 五、引用/注入其他bean…

openEuler快速入门-openEuler系统安装openGauss数据库安装

文章目录前言一、安装openEuler系统安装二、运行虚拟机,配置三、安装openGauss数据库总结前言 openEuler:openEuler 是一款开源操作系统。当前 openEuler 内核源于 Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能&a…

[附源码]java毕业设计网络身份认证技术及方法

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

_001_Zotero入门

Zetoro大纲一、安装Zotero二、收集题录2.1 浏览器插件2.2 通过标识符添加2.3 拖拽文献2.4 从剪切板导入2.5 批量导入2.6 手动添加(不建议使用)2.7 方法总结三、管理题录3.1 移动分类3.2 查重3.3 关联3.4 标签3.5 笔记3.6 RSS订阅3.7 快捷键3.8 总结四、在…

Verilog 时序逻辑 UDP

时序逻辑 UDP 与组合逻辑 UDP 在定义形式和行为功能上均有不同&#xff0c;主要区别如下&#xff1a; 1、时序逻辑 UDP 的输出端必须声明为 reg 型。2、时序逻辑 UDP 可以用 initial 语句初始化。3、状态表格式也稍有不同&#xff1a; ... : <current_state> : &l…

RabbitMQ初步到精通-第七章-RabbitMQ之延迟队列

目录 第七章-RabbitMQ之延迟队列 1. 延迟队列概念 2. 应用场景 3. 架构模式 3.1 队列TTL实现 3.2 消息TTL实现 3.3 插件实现 4. 代码验证 5. 总结 第七章-RabbitMQ之延迟队列 1. 延迟队列概念 延迟-意即 非实时&#xff0c;之前我们讨论大部分的案例都是生产者将消息发…

【毕业设计】61-基于单片机的超声波测距仪设计(原理图、仿真工程、低重复率参考设计文档、PPT、开题报告、任务书)

【毕业设计】61-基于单片机的超声波测距仪设计&#xff08;原理图、仿真工程、低重复率参考设计文档、PPT、开题报告、任务书&#xff09;[toc] 资料下载链接 资料下载链接 资料链接&#xff1a;https://www.cirmall.com/circuit/33762/ 包含此题目毕业设计全套资料&#xff…

UDS应用场景

诊断协议那些事儿 本文为诊断协议那些事儿专栏文章&#xff0c;旨在介绍诊断的应用场景&#xff0c;其本质就是一个用于汽车行业通信的需求规范&#xff0c;用于诊断功能数据的解析&#xff01;让读者对诊断有一个深入的认识。 关联文章&#xff1a;UDS协议发展历史 文章目录…

idea如何设置代理实现管理突破呢

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

抗锯齿渲染

&#xff08;逻辑绘图&#xff09;图像在坐标图中的显示&#xff1a; 笔的默认宽度为1&#xff0c;当笔的宽度大于1时&#xff0c;相当于在则条线的两边均匀加厚&#xff0c;确定坐标的还是这条宽度为1的线段&#xff0c;相当于宽度的中心位置。 物理绘图 &#xff08;默认情况…

集成学习、装袋法、提升法、GBDT、随机森林(机器学习)

集成学习 集成学习(Ensemble learning)是机器学习中近年来的一大热门领域。其中的 集成方法是用多种学习方法的组合来获取比原方法更优的结果 使用于组合的算法是弱学习算法 即分类正确率仅比随机猜测略高的学习算法 但是组合之后的效果仍可能高于强学习算法 即集成之后的…

总抱怨Mac运行速度又卡又慢?这些方法你用得上

通常大家处理Mac运行速度慢的方法不是重启就是清空废纸篓&#xff0c;但是这两种方法对于Mac提速性能的效果是微之甚微的&#xff0c;想要彻底解决Mac运行速度慢&#xff0c;你应该试试一下三种方法~ 1、清理磁盘空间 硬盘空间过少是Mac运行变慢很大的一个因素&#xff0c;各种…

第03章_基本的SELECT语句

第03章_基本的SELECT语句 1. SQL概述 1.1 SQL背景知识 1946 年&#xff0c;世界上第一台电脑诞生&#xff0c;如今&#xff0c;借由这台电脑发展起来的互联网已经自成江湖。在这几十年里&#xff0c;无数的技术、产业在这片江湖里沉浮&#xff0c;有的方兴未艾&#xff0c;有…

【用户画像】Redis的常用五大数据类型和配置文件介绍

文章目录一 常用五大数据类型简介1 Redis键(key)2 Redis字符串(String)3 Redis列表(List)4 Redis集合(Set)5 Redis哈希(Hash)6 Redis有序集合Zset(sorted set)二 Redis配置文件介绍1 UNITS2 INCLUDES3 NETWORK4 MEMORY MANAGEMENT一 常用五大数据类型简介 常用命令 1 Redis键…

攻防世界碎纸机11

碎纸机11 题目描述&#xff1a;我们从碎纸机里抢救回来了某个关键图片资料&#xff0c;你能帮我们修复它吗&#xff1f; 题目环境&#xff1a;https://download.csdn.net/download/m0_59188912/87094757 打开文件&#xff0c;发现是让我们拼图。 可以用python脚本进行拼接。 脚…

pytorch初学笔记(七):神经网络基本骨架 torch.nn.Module

目录 一、 torch.nn模块 二、module模块 三、自定义搭建神经网络 一、 torch.nn模块 torch.nn — PyTorch 1.13 documentation 二、module模块 Module — PyTorch 1.13 documentation 我们自己定义的神经网络需要继承nn.Module类&#xff0c;需要重写以下两个方法&#xf…

智慧林业解决方案-最新全套文件

智慧林业解决方案-最新全套文件一、建设背景二、建设架构1、火险预警2、AI林火分析3、应急指挥4、森林资源GIS5、林业巡检6、林业OA三、建设方案四、获取 - 智慧林业全套最新解决方案合集一、建设背景 森林资源是林地及其所生长的森林有机体的总称&#xff0c;以林木资源为主&…

设计模式之设计原则

程序设计的要遵循的一些理论,也可以理解为程序设计的一种要求和目标,是面向对象程序设计的基石,也是面向对象程序设计的质量保障和依据。设计模式&#xff08;Design pattern&#xff09;是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为…