我有一组存储在数组中的图像,我需要像幻灯片一样显示它们.下一个和上一个有两个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];

}

}

}

java jbutton数组_java-JButton需要显示图像数组相关推荐

  1. java按钮数组_Java按钮控件数组实现计算器界面

    编写程序,通过按钮数组来管理界面中的所有按钮控件,从而使用最少的代码实现模拟的计算器界面. 思路如下: 创建一个类,通过extends使其继承窗体类JFrame: 创建一个JFrame对象,使用JFr ...

  2. java input 数组_Java基础之:数组

    Java基础之:数组 一组相同数据类型的数据,我们即称之为 数组,数组也是一种数据类型. 需要注意的是 , 数组和String 字符串 相同,也是引用类型的. 数组的初始化 方式一:动态初始化 四种格 ...

  3. java画图消除锯齿_java – JButton文本的消除锯齿

    我在JButton中使用Font Awesome来创建一个可点击的图标,但是当尺寸很小时,生成的图标会显示为别名.正如一些背景知识,Font Awesome是一个可下载的ttf文件(字体文件),其中每 ...

  4. java怎么定义一维数组_Java定义一个一维数组有哪几种方法

    展开全部 首先: 一维62616964757a686964616fe59b9ee7ad9431333366306432数组的声明 ; 代码如下int[] ary1; //Java推荐的数组声明方式 i ...

  5. java反转数组_Java中如何将数组反转?Java数组反转的2种方法(代码示例)

    数组操作Java数组如何反转输出?下面本篇文章就给大家介绍2种在java中实现数组反转的简单方法.有一定的参考价值,希望对大家有所帮助.[视频教程推荐:java教程] 方法一:使用循环,交换数组中元素 ...

  6. java大括号定义数组_Java基础语法_数组

    数组的概念 数组的概念:是一种容器,可以同时存放多个数据值 数组的特点: 1.数组是一种引用数据类型 2.数组当中的多个数据,类型必须统一 3.数组的长幅在程序运行期间不可改变 数组的定义格式 数组的 ...

  7. java scanner输入数组_java基础- scanner/方法/数组

    1.用户交互scanner Next() public class demo1 { public static void main(String[] args) { //创建一个scanner对象 S ...

  8. arrays中copyof复制两个数组_Java教程分享之数组知识梳理

    Java是一门面向对象编程语言,具有简单易用.功能强大的特征.数组是同类型数据的有序集合,在Java中是引用数据类型,引用数据类型值都存储在堆中.有很多新手初学Java数组觉得难度大,接下来就给大家简 ...

  9. java 存储过程 数组_Java调用存储过程返回数组

    Java调用存储过程: 结合SQL操作与存储过程 create procedure set_death_age(poet VARCHAR2, poet_age NUMBER) poet_id NUMB ...

  10. java二分查找算法字符串数组_Java 算法——二分查找数组集合关键元素

    packagecom.sinosoft;import java.util.*;importjava.util.stream.Stream;/***@authorCreated by xushuyi * ...

最新文章

  1. 郭涛:忽悠 众多人工智能创业公司与AI无关
  2. Cocos2dx学习笔记9:cocos2dx锚点(Anchor Point)
  3. 中央纪委网站:​深度关注 | 元宇宙如何改写人类社会生活
  4. VOS3000设置落地网关优先级
  5. 列表ListView和列表选择框的使用编写步骤
  6. unity技能框架_如何使用指导框架学习新技能
  7. ResNet原理和实现
  8. 元年·潮湃 首届搜狐5G峰会倒计时 参会大咖揭晓
  9. 学习Linux的七点忠告
  10. [源码和报告分享]基于Android-JavaEE-DB2实现的旧物交易平台
  11. vue 实现图片预览放大以及缩小
  12. 正则表达式在网页文件中文本识别匹配的应用
  13. 医脉神剑之超声成像基础原理(转)
  14. 2016年轻人消费洞察
  15. 计算机专业创新创业培养,中职计算机专业学生创新创业能力培养思考
  16. 【Linux os7】--详细搭建LAMP+安装Zabbix4监控服务
  17. WebStorm下载与安装2022版教程注册码WebStorm使用配置
  18. 基于java点播影院运营系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  19. 番茄钟怎么调_实操番茄钟使用方法
  20. 人工神经网络的发展前景,人工神经网络及其应用

热门文章

  1. 『矩阵论笔记』雅可比矩阵(Jacobian)和海森矩阵(Hessian)
  2. python qt designer
  3. 高斯课堂数电讲义笔记_高斯课堂
  4. Excel对比数据差异方法总结
  5. k2p B1版本官改关闭路由器ipv6分配
  6. 欧拉-拉格朗日方程(Euler -Lagrange equation)
  7. java简单的sql语句--增删改查(CRUD)
  8. c语言计算燃烧温度,f与c温度换算(温度f和c换算计算器)
  9. Python tkinter Canvas画布完全攻略
  10. Hadoop技术原理与应用