java swing实现点击按钮切换图片(简单实现)

本文教程,主要提供一个简单的例子,使用java swing完成点击按钮能够切换图片。

目录

一、程序预览

二、程序代码


一、程序预览

二、程序代码

package learnProject.csdn;import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;/*** * @author Roc-xb**/
public class ImageSwitcher extends JFrame {private static final long serialVersionUID = 1L;private JLabel imageLabel;private JButton button1, button2, button3, button4;public ImageSwitcher() {setTitle("美女Switcher");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(400, 400);setLayout(new BorderLayout());// 创建图片标签imageLabel = new JLabel();imageLabel.setHorizontalAlignment(JLabel.CENTER);add(imageLabel, BorderLayout.CENTER);// 创建按钮面板JPanel buttonPanel = new JPanel();buttonPanel.setLayout(new FlowLayout());// 创建按钮button1 = new JButton("美女1");button2 = new JButton("美女2");button3 = new JButton("美女3");button4 = new JButton("美女4");// 添加按钮点击事件监听器button1.addActionListener(new ButtonClickListener());button2.addActionListener(new ButtonClickListener());button3.addActionListener(new ButtonClickListener());button4.addActionListener(new ButtonClickListener());// 将按钮添加到按钮面板buttonPanel.add(button1);buttonPanel.add(button2);buttonPanel.add(button3);buttonPanel.add(button4);// 将按钮面板添加到窗口底部add(buttonPanel, BorderLayout.SOUTH);// 模拟点击第一个按钮button1.doClick();// 显示窗口setVisible(true);}// 按钮点击事件监听器class ButtonClickListener implements ActionListener {public void actionPerformed(ActionEvent e) {JButton source = (JButton) e.getSource();String buttonText = source.getText();// 根据按钮文本设置对应的图片switch (buttonText) {case "美女1":imageLabel.setIcon(new ImageIcon("C:\\Users\\Administrator\\Desktop\\sc\\01.jpeg"));break;case "美女2":imageLabel.setIcon(new ImageIcon("C:\\Users\\Administrator\\Desktop\\sc\\02.jpeg"));break;case "美女3":imageLabel.setIcon(new ImageIcon("C:\\Users\\Administrator\\Desktop\\sc\\03.jpeg"));break;case "美女4":imageLabel.setIcon(new ImageIcon("C:\\Users\\Administrator\\Desktop\\sc\\04.jpeg"));break;}}}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {new ImageSwitcher();}});}
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webpack 解决:Cannot use import statement outside a module 的问题

1、问题描述: 其一、报错为: Uncaught SyntaxError: Cannot use import statement outside a module; 中文为: 未捕获的语法错误:无法在模块外部使用 import 语句; 其二、问题描述为: 在项目打包的时候 npm run …

【Vue面试题二十一】、Vue中的过滤器了解吗?过滤器的应用场景有哪些?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:Vue中的过滤器了解吗&am…

Android组件通信——PendingIntent(二十八)

1. PendingIntent 1.1 知识点 (1)了解PendingIntent与Intent的区别; (2)可以完成Notification功能的开发; (3)可以使用PendingIntent进行短信的发送; 1.2 具体内容 …

asp.net老年大学信息VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机毕业设计

一、源码特点 asp.net老年大学信息管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c# 语言开发 asp.net老年大学信息管理系统…

[论文笔记]SimCSE

引言 今天带来一篇当时引起轰动的论文SimCSE笔记,论文题目是 语句嵌入的简单对比学习。 SimCSE是一个简单的对比学习框架,它可以通过无监督和有监督的方式来训练。 对于无监督方式,输入一个句子然后在一个对比目标中预测它自己,仅需要标准的Dropout作为噪声。这种简单的…

“Python+”集成技术高光谱遥感数据处理与机器学习深度应用

涵盖高光谱遥感数据处理的基础、python开发基础、机器学习和应用实践。重点解释高光谱数据处理所涉及的基本概念和理论,旨在帮助学员深入理解科学原理。结合Python编程工具,专注于解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题&#xf…

springboot中如何在测试环境下进行web环境模拟测试

web环境模拟测试 模拟端口 SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.RANDOM_PORT) public class WebTest {Testvoid testRandomPort () {} }

docker 搭建本地Chat GPT

要在CentOS7上安装Docker,您可以按照以下步骤进行操作: 1、更新系统包列表 sudo yum update2、安装Docker存储库的必要软件包 sudo yum install -y yum-utils device-mapper-persistent-data lvm23、添加Docker存储库 sudo yum-config-manager --add…

MySQL MVCC详细介绍

MVCC概念 MVCC(Multi-Version Concurrency Control) 多版本并发控制,是一种并发控制机制,用于处理数据库中的并发读写操作,它通过在每个事务中创建数据的快照,实现了读写操作的隔离性,从而避免了读写冲突和数据不一致的问题。 M…

GaN器件的工作原理

目录 AlGaN/GaNHEMT 器件工作原理(常开-耗尽型器件)常关 AlGaN/GaN 功率晶体管(增强型器件)HD-GIT与SP-HEMT AlGaN/GaNHEMT 器件工作原理(常开-耗尽型器件) 来源:毫米波GaN基功率器件及MMIC电路…

百度SEO优化的特点(方式及排名诀窍详解)

百度SEO优化的特点介绍: 百度SEO优化是指对网站进行优化,使其在百度搜索引擎中获得更好的排名,进而获取更多的流量和用户。百度SEO优化的特点是综合性强、效果持久、成本低廉、投资回报高。百度的搜索算法不断更新,所以长期稳定的…

宝塔面板服务器内存使用率高的三招解决方法

卸载多余PHP版本。假若安装了多个PHP版本,甚至把 php 5.3、5.4、7.0、7.3 全都安装上了,就会严重增加系统负载和内存使用率。 安装memcached 缓存组件,建议在宝塔面板后台直接安装。 卸载不常用软件。如:宝塔运维、宝塔一键安装…

不止硬件,苹果的软件也是频出问题!iOS 17.0.3使iPhone在一夜之间随机开关机

就在我们以为iPhone的问题已经解决了一段时间的时候,一个新的问题似乎突然出现了。在Reddit和其他网站上,人们报告说,他们的iPhone在一夜之间莫名其妙地断电,有时会导致错过警报。 目前尚不清楚是什么原因导致了这个问题&#xf…

基于海洋捕食者优化的BP神经网络(分类应用) - 附代码

基于海洋捕食者优化的BP神经网络(分类应用) - 附代码 文章目录 基于海洋捕食者优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.海洋捕食者优化BP神经网络3.1 BP神经网络参数设置3.2 海洋捕食者算法应用 4…

好用的跨平台同步笔记工具,手机和电脑可同步的笔记工具

在这个快节奏的工作环境中,每个人都在寻找一种方便又高效的方式来记录工作笔记。记录工作笔记可以帮助大家统计工作进展,了解工作进程,而如果工作中常在一个地方办公,直接选择电脑或者手机中笔记工具来记录即可,但是对…

spring boot Rabbit高级教程

消息可靠性 生产者重试机制 首先第一种情况,就是生产者发送消息时,出现了网络故障,导致与MQ的连接中断。 为了解决这个问题,SpringAMQP提供的消息发送时的重试机制。即:当RabbitTemplate与MQ连接超时后,…

Yakit工具篇:简介和安装使用

简介(来自官方文档) 基于安全融合的理念,Yaklang.io 团队研发出了安全领域垂直语言Yaklang,对于一些无法原生集成在Yak平台中的产品/工具,利用Yaklang可以重新编写 他们的“高质量替代”。对于一些生态完整且认可度较高的产品,Y…

基于linux的基础线程知识大总结

文章目录 1.线程的基础概念认知1.1什么是线程1.2线程的优缺点1.3一些页表知识的额外补充1.4进程和线程的对比 2.线程的基本控制2.1POSIX线程库2.2创建一个新的线程2.3有关线程id的解释和线程栈区的地址空间布局2.4线程终止2.5线程等待2.6线程分离 3.线程间互斥3.1基本概念3.2互…

【C++】笔试训练(六)

目录 一、选择题二、编程题1、不要二2、把字符串转换成整数 一、选择题 1、十进制变量i的值为100&#xff0c;那么八进制的变量i的值为&#xff08;&#xff09; A 146 B 148 C 144 D 142 答案&#xff1a;C 2、执行下面语句后的输出为 int I 1; if (I < 0)printf("…

vmware ubuntu 虚拟机 网卡图片消失处理办法

如图&#xff0c;这个图标消失处理办法&#xff1a; 输入如下指令&#xff1a;sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start