JAVASE 窗口按钮

news2025/3/1 21:14:28

本文目录

  • 1、前言
  • 2、JFrame、JButton
  • 3、JLabl
  • 4、ImageIcon

1、前言

java提供了很多已经写好了的类供我们使用,而我们没必要去细腻研究它的构成原理,就好比我们让我们编程让机器人动起来,没必要细腻研究机器人每个器件是怎么做出来的一样,而Java提供的这些类就类似控制机器人动起来的接口,我们利用这些方法操纵机器人的移动即可

在这里插入图片描述

链式编程:

在这里插入图片描述

2、JFrame、JButton

代码:

import java.awt.print.Printable;
import java.util.*;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Main{//继承父类Jframe,获取父类方法
	 
    public static void main(String[] args) { 
    	JFrame frame = new JFrame();//设置窗体类
    	frame.setTitle("按钮");
    	frame.setSize(500, 500);//设置尺寸
    	frame.setLocationRelativeTo(null);//设置窗体居中
    	frame.setAlwaysOnTop(true);//设置窗体置顶
    	frame.setDefaultCloseOperation(3);//设置窗体的关闭模式
    	frame.setVisible(true);//设置窗体可见
    	
    	//取消窗口默认布局
    	frame.setLayout(null);
    	
    	//创建按钮对象
    	JButton btn = new JButton();
     
    	//通过窗体对象,截取面板对象,并用add方法添加按钮组件
    	frame.getContentPane().add(btn);
    	
    	//由于取消了默认布局,所以要设定具体位置
    	
    	//设置位置
    	btn.setBounds(50, 50, 100, 100);
   }
 
}

在这里插入图片描述

3、JLabl

在这里插入图片描述

代码:

import java.awt.print.Printable;
import java.util.*;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Main{//继承父类Jframe,获取父类方法
	 
    public static void main(String[] args) { 
    	JFrame frame = new JFrame();//设置窗体类
    	frame.setTitle("按钮");
    	frame.setSize(500, 500);//设置尺寸
    	frame.setLocationRelativeTo(null);//设置窗体居中
    	frame.setAlwaysOnTop(true);//设置窗体置顶
    	frame.setDefaultCloseOperation(3);//设置窗体的关闭模式
    	frame.setVisible(true);//设置窗体可见
    	
    	//取消窗口默认布局
    	frame.setLayout(null);
    	
    	JLabel jb1 = new JLabel("玛卡巴卡");//区域
    	
    	jb1.setBounds(50, 50, 100, 100);//范围
    	
        JLabel jb2 = new JLabel("乌西滴西");//区域
    	
    	jb2.setBounds(150, 50, 100, 100);
    	
    	//添加
    	frame.getContentPane().add(jb1);
    	frame.getContentPane().add(jb2);
   }
 
}

在这里插入图片描述

4、ImageIcon

代码:

import java.awt.Image;
import java.awt.print.Printable;
import java.util.*;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Main{//继承父类Jframe,获取父类方法
	 
    public static void main(String[] args) { 
    	JFrame frame = new JFrame();//设置窗体类
    	frame.setTitle("按钮");
    	frame.setSize(500, 500);//设置尺寸
    	frame.setLocationRelativeTo(null);//设置窗体居中
    	frame.setAlwaysOnTop(true);//设置窗体置顶
    	frame.setDefaultCloseOperation(3);//设置窗体的关闭模式
    	frame.setVisible(true);//设置窗体可见
    	
    	//取消窗口默认布局
    	frame.setLayout(null);
    	
    	JLabel jb1 = new JLabel("玛卡巴卡");//区域
    	
    	jb1.setBounds(50, 50, 100, 100);//范围
    	
        JLabel jb2 = new JLabel("乌西滴西");//区域
    	
    	jb2.setBounds(150, 50, 100, 100);
    	
    	//添加
    	frame.getContentPane().add(jb1);
    	frame.getContentPane().add(jb2);
    	
    	
        //添加图片
    	ImageIcon mage = new ImageIcon("C:\\Users\\86153\\Pictures\\Saved Pictures\\16.jpg");
    	JLabel jb3 = new JLabel(mage);//将图片放在一个区域内
    	jb3.setBounds(150, 150, 100, 100);
    	frame.getContentPane().add(jb3);
    	
   }
 
}

在这里插入图片描述
代码:

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class MainFrame extends JFrame{//继承父类非私有方法,方便创建新的方法

	int[][] datas = { 	
			{1, 2, 3},
			{4, 5, 6},
			{7, 8, 9}
	};
	
//构造器
public MainFrame(){
	initFrame();
	pantview();
	//放在这里更保险
	setVisible(true);//设置窗体可见
}
	
//界面初始化
public void initFrame(){ 
	 setTitle("游戏");
	 setSize(804, 534);//设置尺寸
	 setLocationRelativeTo(null);//设置窗体居中
	 setAlwaysOnTop(true);//设置窗体置顶
	 setDefaultCloseOperation(3);//设置窗体的关闭模式
	//取消窗口默认布局
	 setLayout(null);
}

//图片放映
public void pantview(){ 	 
	
	for(int i = 0; i < 3; i ++)
		for(int j = 0; j < 3; j ++) {
			JLabel image = new JLabel(new ImageIcon("D:\\New_Study\\JAVA\\gameJAVA\\" + datas[i][j] + ".png"));//读取图片
			image.setBounds(100 + 202 * j, 100 + 112 * i, 200, 110);
			getContentPane().add(image);//将图片放入窗口
		}
	JLabel background = new JLabel(new ImageIcon("D:\\New_Study\\JAVA\\gameJAVA\\background.png"));//放入背景
	background.setBounds(100, 100, 604, 334);
	//后放的图片放在下面
	getContentPane().add(background);
}

}

在这里插入图片描述

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

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

相关文章

免杀对抗-ShellCode上线+回调编译执行+混淆变异算法

C/C --ShellCode-免杀对抗 介绍&#xff1a; shellcode是一段用于利用软件漏洞而执行的代码&#xff0c;shellcode为16进制的机器码&#xff0c;因为经常让攻击者获得shell而得名。我们经常在CS里面生成指定编程语言的payload&#xff0c;而这个payload里面就是一段十六进制的机…

Centos7 完全断网离线环境下安装MySQL 8.0.33 图文教程

Centos7 完全断网离线环境安装MySQL 8.0.33 图文教程 1.1前言1.2 下载离线安装包1.3 将下载好的离线安装包上传到Centos 7 服务器1.3.1 方式一:联网环境下可利用rz命令进行文件上传1.3.2 方式二:断网环境下使用 XFtp 等软件工具进行上传1.4 解压安装包1.5 执行安装脚本1.6 重…

《极客时间:数据结构与算法之美》【数据结构与算法】

本篇博客是学习过程中的笔记整理和个人思考。原文链接&#xff1a;https://time.geekbang.org/column/intro/100017301 开篇词 | 从今天起&#xff0c;跨过“数据结构与算法”这道坎01 | 为什么要学习数据结构和算法&#xff1f;02 | 如何抓住重点&#xff0c;系统高效地学习数…

CTF入门学习笔记——Crypto密码(古典密码)

文章目录 CTF入门学习笔记——Crypto密码&#xff08;古典密码&#xff09;凯撒密码看我回旋踢 摩斯密码摩斯 维吉尼亚密码Vigenre 栅栏密码篱笆墙的影子 栅栏密码篱笆墙的影子 猪圈密码待补充 CTF入门学习笔记——Crypto密码&#xff08;古典密码&#xff09; &#x1f680;&a…

领域驱动设计:DDD重构中台业务模型

文章目录 如何避免重复造轮子&#xff1f;如何构建中台业务模型&#xff1f; 如何避免重复造轮子&#xff1f; 要避免重复建设&#xff0c;就要理解中台的理念和思想。“中台是企业级能力复用平台”&#xff0c;“复用”用白话说就是重复使用&#xff0c;就是要避免重复造轮子…

深入解析OLED透明屏的工作原理与优势,智能家居的未来之选

OLED透明屏作为一项突破性的显示技术&#xff0c;不仅具备出色的视觉效果&#xff0c;还带来了全新的功能和应用。 在这篇文章中&#xff0c;尼伽将深入探讨OLED透明屏的功能特点&#xff0c;介绍其在各个领域的广泛应用&#xff0c;并提供实用的案例和数据&#xff0c;希望看…

认识 Express

1. 初识 Express 1.1 Express 简介 1. 什么是 Express 官方给出的概念&#xff1a;Express 是基于 Node.js 平台&#xff0c;快速、开放、极简的 Web 开发框架。 通俗的理解&#xff1a;Express 的作用和 Node.js 内置的 http 模块类似&#xff0c;是专门用来创建 Web …

“批量随机字母命名文件,轻松管理你的文件库“

你是否曾经遇到过文件命名混乱&#xff0c;难以管理的问题&#xff1f;为了解决这个问题&#xff0c;我们推出了一款全新的文件改名工具&#xff0c;它可以帮助你批量给文件名添加一个随机字母&#xff0c;让你的文件库更加有序、易于管理。 首先第一步&#xff0c;我们要进入…

Python 交易指南:利用 RSI

一、说明 RSI是相对强弱指数&#xff08;Relative Strength Index&#xff09;的缩写&#xff0c;是一种技术指标。该指标是用来测量股票或其他交易品种的价格波动强度和速度的&#xff0c;属于动量型指标。RSI常用于技术分析和交易策略中&#xff0c;可以帮助交易者判断市场的…

JAVA 的四种访问权限

在Java编程中&#xff0c;访问权限是非常重要的概念&#xff0c;因为它可以保证代码的安全性和封装性。访问权限有四种&#xff0c;分别是public、protected、default和private。 private&#xff1a;如果一个类的方法或者变量被private修饰&#xff0c;那么这个类的方法或者变…

程序执行的四个阶段

程序执行的四个阶段 对于一段helloc.c的程序 #include <stdio.h>int main() {printf("hello, world\n");return 0; }为了在系统上运行程序&#xff0c;每条C语句都必须被其他程序转化为一系列的低级机器语言指令。然后这些指令按照一种称为可执行目标程序的格…

网络层--IP协议

引入&#xff1a; IP协议主要解决什么问题呢&#xff1f; IP协议提供一种将数据从主机&#xff21; 发送到 主机&#xff22;的能力。&#xff08;有能力不一定能做到&#xff0c;比如小明很聪明&#xff0c;可以考100分&#xff0c;但是他也不是每次搜能考100分&#xff0…

持安科技入选数说安全《2023中国网络安全市场年度报告》

近日&#xff0c;网络安全产业研究平台数说安全发布《2023中国网络安全市场年度报告》&#xff0c;报告共分为158页核心报告&#xff0c;及番外篇《网安融资新星及融资过亿企业介绍》&#xff0c;作为以甲方身份创业的零信任办公安全明星企业&#xff0c;持安科技以网安融资新星…

【leetcode 力扣刷题】重复叠加字符串匹配

重复叠加字符串匹配 686. 重复叠加字符串匹配 686. 重复叠加字符串匹配 题目链接&#xff1a;686. 重复叠加字符串匹配 题目内容&#xff1a; 理解题意&#xff0c;可以发现题目还是要求我们做字符串匹配。只是查询串不是简单的a&#xff0c;而是a的叠加&#xff0c;并且这个…

国外LEAD收款渠道介绍:Wise收款教程

在国内做国外的Affiliate marketing&#xff0c;收款还是有些麻烦的。以前用Payoneer挺方便&#xff0c;包括clickbank&#xff0c;amazon等联盟都挺顺利的回款&#xff0c;不过自从Digitalstore24的一笔联盟款发送之后&#xff0c;没有到账&#xff0c;然后就收到款项需要审核…

windows下安装redis扩展库

1.根据PHP版本号&#xff0c;编译器版本号和CPU架构 选择php_redis和php_igbinary文件(如果是选择线程的情况下需要再去配置php5ts.dll) windows.php.net - /downloads/pecl/releases/redis/ windows.php.net - /downloads/pecl/releases/igbinary/ php_igbinary-3.1.2-7.2-…

webgl与webgpu比较

绘制流程 webgl无论是操作着色器&#xff0c;还是操作 VBO&#xff0c;亦或者是创建一些 Buffer、Texture 对象&#xff0c;基本上都得通过 gl 变量一条一条函数地走过程&#xff0c;顺序是非常讲究的。每一次调用 gl.xxx 时&#xff0c;都会完成 CPU 到 GPU 的信号传递&#…

【LeetCode】210. 课程表 II——拓扑排序

题目链接&#xff1a;210. 课程表 II 题目描述&#xff1a; 现在你总共有 numCourses 门课需要选&#xff0c;记为 0 到 numCourses - 1。给你一个数组 prerequisites &#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示在选修课程 ai 前 必须 先选修 bi 。 例如…

CAPL自动化测试通信电压

通信电压 1、系统框架2、控制电压模块3、检查通信是否正常4、检查电压标准5、CAPL 控制VH1160的函数 分三个模块 控制电源模块&#xff0c;分析通信是否正常模块&#xff0c;判断电压是否符合标准。 1、系统框架 应该分为三大模块&#xff1a;控制电压模块&#xff0c;检查通…

国内 Docker 镜像加速器和国内公共镜像仓库那些事

前言 首先我们知道&#xff0c;全球最大的公共镜像仓库是 Docker 公司自己搭建的 Docker Hub&#xff0c;也是权威性最高的&#xff0c;里面包含了各种各样的官方镜像&#xff0c;Docker Hub 为每一个注册用户提供了个人镜像仓库服务&#xff0c;该个人镜像仓库是公共的。 以上…