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

本文介绍如何使用Java Swing创建GUI窗口,并实现菜单栏、菜单及子菜单功能。通过具体代码实例,展示了窗口的基本创建、美化及组件添加等过程,并详细解释了菜单条、菜单及其相关组件的创建方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在这里插入图片描述


👨‍💻 专栏交流🧧
🟥Unity100个实战基础✨🎁
🟦 Unity100个精华一记✨🎁
🟩 Unity50个demo案例教程✨🎁
🟨 Unity100个精华细节BUG✨🎁

在这里插入图片描述

在这里插入图片描述

本文由 秩沅 原创

收录于专栏 unity实战入门


相关文章参考:Java -GUI界面设计

       ⭐效果图如下 ⭐

在这里插入图片描述


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

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

一,基本创建


👨‍💻窗口是怎么创建的

图片
在这里插入图片描述

代码

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);

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

(1)DO_NOTHING_ON_CLOSE:

 不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。

(2)HIDE_ON_CLOSE

调用任意已注册的 WindowListener 对象后自动隐藏该窗体。

(3)DISPOSE_ON_CLOSE:

调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。

(4)EXIT_ON_CLOSE:

使用 System exit 方法退出应用程序。仅在应用程序中使用。

👨‍💻注释语句解释👍

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

@SuppressWarnings("serial")

抑制单类型警告

@SuppressWarnings("unchecked")

抑制所有类型警告

@SuppressWarnings("all")

去除属性上的黄色警告

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

相关文章参考:Java -GUI界面设计

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

在这里插入图片描述

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秩沅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值