java jbutton数组_java-JButton需要显示图像数组

2023-11-04

我有一组存储在数组中的图像,我需要像幻灯片一样显示它们.下一个和上一个有两个JButton,它们使用户可以查看图像.但是我无法使按钮起作用.有什么建议吗?

谢谢

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JPanel;

public class slides extends JPanel implements ActionListener {

// Data Field

private final ImageIcon imageArray[];

private ImageIcon image;

JButton nextButton;

JButton prevButton;

int page = 0;

int nextPage = page + 1;

int prevPage = page - 1;

int numOfSlides = 28;

// Obtains and stores slides in imageArray

public slides() {

imageArray = new ImageIcon[numOfSlides];

for (int i = 0; i < imageArray.length; i++) {

imageArray[i] = new ImageIcon("Slide " + (i + 1) + ".png");

}

}

// Displays slides

@Override

public void paintComponent(Graphics g) {

super.paintComponent(g);

boolean began = true;

// creates next button

nextButton = new JButton("next");

nextButton.setBounds(400, 574, 70, 30);

nextButton.addActionListener(this);

add(nextButton);

// creates previous button

prevButton = new JButton("previous");

prevButton.setBounds(0, 574, 85, 30);

prevButton.addActionListener(this);

add(prevButton);

// displays slide 1

if (began == true) {

image = imageArray[page];

image.paintIcon(this, g, 0, 0);

began = false;

}

// displays other slides based on preference

if (page == nextPage) {

image = imageArray[page + 1];

image.paintIcon(this, g, 0, 0);

nextPage = page + 1;

prevPage = page - 1;

}

if (page == prevPage) {

nextPage = page + 1;

prevPage = page - 1;

image = imageArray[page - 1];

image.paintIcon(this, g, 0, 0);

}

// Removes buttons accordingly

if(page == imageArray.length - 1) {

remove(nextButton);

}

if(page == 0){

remove(prevButton);

}

}

@Override

public void actionPerformed(ActionEvent event) {

if (event.getSource() == nextButton) {

page++;

image = imageArray[page];

}

if (event.getSource() == prevButton) {

page--;

image = imageArray[page];

}

}

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java jbutton数组_java-JButton需要显示图像数组 的相关文章

随机推荐

  • 制作跟mnist一样格式的数据集(4)

    1将这篇文章https blog csdn net it job article details 80520975中自己制作的图片作为训练集 自己手写的 2将这篇文章https blog csdn net it job article de
  • ROS通信编程_服务编程_客户端编程

    系统环境 Ubuntu16 04 实现一个客户端 1 初始化ROS节点 2 创建一个Client实例 3 发布服务请求数据 4 等待Server处理之后的应答结果 在功能包 src下新建文件client cpp 输入以下内容并保存退出 例程
  • 用ScrollView解决Android屏幕显示不全的问题

    当控件比较多而在界面不能完全显示时 如下图所示 可以用ScrollView解决上述问题 使其可以通过垂直滚动将最下面的控件显示出来 ScrollView也是一个Layout布局 可以让它内部的数据显示不下的时候出现滚动条 但需要注意的是 S
  • json对象的使用依赖:

    1 jackso依赖
  • java mysql 自动重连_JDBC实现Mysql自动重连机制的方法详解

    前言 本文主要给大家介绍的是关于jdbc实现mysql自动重连机制的相关内容 分享出来供大家参考学习 下面来一起看看详细的介绍 日志 using the connector j connection property autoreconne
  • JAVA的内存回收机制(快速入门版)

    java内存回收机制 内存回收 是JVM中垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制 引用 java中什么是引用 Person xiaoi new Person new person 以pers
  • 什么是NoSQL数据库?它与传统数据库有什么异同以及NoSQL的三大基石和四大类型

    1 NoSQL数据库的特点 灵活的可拓展性 NoSQL数据库在设计之初就是为了满足 横向扩展 的需求 灵活的数据模型 NoSQL数据库采用键 值 列族等非关系模型 允许在一个数据元素里存储不同类型的数据 与云计算紧密融合 NoSQL数据库凭
  • Java中的同步与锁机制详解

    作为Java程序员 我们都知道在编写多线程程序时 需要确保线程之间的同步与互斥 本文将详细介绍Java中的同步与锁机制 1 为什么需要同步与锁 在多线程环境中 如果多个线程同时访问共享资源 可能会导致数据不一致或其他不可预料的结果 为了解决
  • PTA -1012 数字分类

    1012 数字分类 20 分 给定一系列正整数 请按要求对数字进行分类 并输出以下 5 个数字 A 1 能被 5 整除的数字中所有偶数的和 A 2 将被 5 除后余 1 的数字按给出顺序进行交错求和 即计算 n 1 n 2 n 3 n 4
  • zigzag走线原理及应用

    电路板上弯弯扭扭的走线有什么用 往期文章 一文读懂高速互联的阻抗及反射 上 一文读懂高速互联的阻抗及反射 中 前面几篇文章有部分读者反馈太深奥 不好懂 要求来一点轻松易懂的 这不 它来了 本期文章我们来分享近期工作中的一个小故事 一段奇怪的
  • 数据结构学习——循环链表的使用

    一 循环链表的介绍 循环链表是一种特殊类型的链表 其中链表中的最后一个节点指向链表中的第一个节点 形成循环的结构 与普通链表相比 循环链表可以在链表中的任何位置进行遍历 并且可以方便地实现循环操作 在循环链表中 每个节点通常包含一个数据元素
  • vue3定义全局方法

    下面用element puls中的ElMessage组件为例 首先我在我的utils js工具类函数方法中定义了一个方法 代码如下 import ElMessage from element plus import element plus
  • 记网易面试总结

    最近进行了一次网易的社招面试 目前结果未知 但是从网易面试中我还是有一些体会 总结如下 作为非计算机专业的程序员来说 如果要进大厂 数据结构与算法是一定要补的 适度刷下leetcode中的算法题 大厂都好这一口 不要不信邪 我就以身试法了一
  • PHP用正则验证用户名

    在php中 用正则表达式写一个用户名的验证 要求 第一个字符为英文 只能用字母 数字 汉字 下划线 总长度限制在4 9位的昵称
  • vs2017 社区版本离线下载安装包

    百度得来 记录备忘 下载vS 2017 https visualstudio microsoft com zh hans thank you downloading visual studio sku Community rel 15 下载
  • Directx11教程三十八之Pick(拾取技术)

    这节教程是关于Pick 拾取技术的 程序的结构如下 在看这节教程前先弄懂 1 大概了解D3D11的渲染流水线 2 D3D11教程三十七之FrustumCulling 视截体裁剪 上半节教程 弄不懂也没关系 两节教程之间有一些联系 但是由于我
  • 完全二叉树——二叉堆(BinaryHeap)

    前言 优先队列是允许至少下列两种操作的数据结构 insert 插入 以及deleteMin 删除最小者 其中deleteMin的工作是找出 返回 并删除优先队列中最小的元素 insert操作等价于enqueue 入队 而deleteMin则
  • Mysql存储引擎

    目录 Mysql有哪些存储引擎 Mysql存储引擎IMyISAM与InnoDB区别 MyISAM索引与InnoDB索引的区别 InnoDB引擎的4大特性 如何选择存储引擎 一张表 里面有ID自增主键 当insert了17条记录以后 删除了第
  • 解决IDEA无法导入Maven项目jar包的问题 - 已解决

    当我们创建Maven项目的时候 经常会出现导入jar包失败的问题 如下图所示 发现我们导入的依赖下面都有红线 解决方法有以下几种 1 有可能是因为我们将 pom的文件忽略了 解决方法 找到 file gt settings gt Build
  • java jbutton数组_java-JButton需要显示图像数组

    我有一组存储在数组中的图像 我需要像幻灯片一样显示它们 下一个和上一个有两个JButton 它们使用户可以查看图像 但是我无法使按钮起作用 有什么建议吗 谢谢 import java awt Graphics import java awt