热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Java】【组件及其事件处理】图片查看软件

图片查看软件,支持6张图片。通过点击不同的按钮,可以查



图片查看软件,支持6张图片。通过点击不同的按钮,可以查看不同的图片。

【Java】【组件及其事件处理】图片查看软件 - 文章图片
MyFrame:

package com.itheima;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyFrame extends JFrame{
JButton button1,button2,button3
,button4,button5,button6;
JLabel label;
PictureListener pictureListener;
public MyFrame() {
init();
setVisible(true);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
setLayout(new FlowLayout());
button1 = new JButton("图片1");
button1.setFont(new Font("微软雅黑",Font.PLAIN,12));//设置按钮字体和大小
add(button1);
button2 = new JButton("图片2");
button2.setFont(new Font("微软雅黑",Font.PLAIN,12));
add(button2);
button3 = new JButton("图片3");
button3.setFont(new Font("微软雅黑",Font.PLAIN,12));
add(button3);
button4 = new JButton("图片4");
button4.setFont(new Font("微软雅黑",Font.PLAIN,12));
add(button4);
button5 = new JButton("图片5");
button5.setFont(new Font("微软雅黑",Font.PLAIN,12));
add(button5);
button6 = new JButton("图片6");
button6.setFont(new Font("微软雅黑",Font.PLAIN,12));
add(button6);
label = new JLabel();
label.setPreferredSize(new Dimension(180,150));//设置标签大小
add(label);
pictureListener = new PictureListener();
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {ImageIcon icon = new ImageIcon("1.jpg");Image temp = icon.getImage().getScaledInstance(label.getWidth(),//将图片大小缩放成与标签同比例 label.getHeight(), icon.getImage().SCALE_DEFAULT);icon = new ImageIcon(temp);label.setIcon(icon);
}
});
button2.addActionListener(pictureListener);
button3.addActionListener(pictureListener);
button4.addActionListener(pictureListener);
button5.addActionListener(pictureListener);
button6.addActionListener(pictureListener);
}
private class PictureListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == button2){ImageIcon icon = new ImageIcon("2.jpg");Image temp = icon.getImage().getScaledInstance(label.getWidth(), label.getHeight(), icon.getImage().SCALE_DEFAULT);icon = new ImageIcon(temp);label.setIcon(icon);
}
if(e.getSource() == button3){ImageIcon icon = new ImageIcon("3.jpg");Image temp = icon.getImage().getScaledInstance(label.getWidth(), label.getHeight(), icon.getImage().SCALE_DEFAULT);icon = new ImageIcon(temp);label.setIcon(icon);
}
if(e.getSource() == button4){ImageIcon icon = new ImageIcon("4.jpg");Image temp = icon.getImage().getScaledInstance(label.getWidth(), label.getHeight(), icon.getImage().SCALE_DEFAULT);icon = new ImageIcon(temp);label.setIcon(icon);
}
if(e.getSource() == button5){ImageIcon icon = new ImageIcon("5.jpg");Image temp = icon.getImage().getScaledInstance(label.getWidth(), label.getHeight(), icon.getImage().SCALE_DEFAULT);icon = new ImageIcon(temp);label.setIcon(icon);
}
if(e.getSource() == button6){ImageIcon icon = new ImageIcon("6.jpg");Image temp = icon.getImage().getScaledInstance(label.getWidth(), label.getHeight(), icon.getImage().SCALE_DEFAULT);icon = new ImageIcon(temp);label.setIcon(icon);
}
}
}
}

button1的监听器是用匿名内部类实现的。

Main:

package com.itheima;
public class Main {
public static void main(String[] args) {
MyFrame myFrame = new MyFrame();
myFrame.setBounds(100,100,240,300);
myFrame.setTitle("匿名内部类的简单应用");
}
}

【Java】【组件及其事件处理】图片查看软件 - 文章图片
【Java】【组件及其事件处理】图片查看软件 - 文章图片
【Java】【组件及其事件处理】图片查看软件 - 文章图片
【Java】【组件及其事件处理】图片查看软件 - 文章图片
【Java】【组件及其事件处理】图片查看软件 - 文章图片
【Java】【组件及其事件处理】图片查看软件 - 文章图片
注意: 图片路径是放在项目路径下的。



推荐阅读
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 本文介绍了Java中Currency类的getInstance()方法,该方法用于检索给定货币代码的该货币的实例。文章详细解释了方法的语法、参数、返回值和异常,并提供了一个示例程序来说明该方法的工作原理。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了如何使用elementui分页组件进行分页功能的改写,只需一行代码即可调用。通过封装分页组件,避免在每个页面都写跳转请求的重复代码。详细的代码示例和使用方法在正文中给出。 ... [详细]
author-avatar
甜心菇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有