java jbutton数组_java-JButton需要显示图像数组
我有一组存储在数组中的图像,我需要像幻灯片一样显示它们.下一个和上一个有两个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需要显示图像数组相关推荐
- java按钮数组_Java按钮控件数组实现计算器界面
编写程序,通过按钮数组来管理界面中的所有按钮控件,从而使用最少的代码实现模拟的计算器界面. 思路如下: 创建一个类,通过extends使其继承窗体类JFrame: 创建一个JFrame对象,使用JFr ...
- java input 数组_Java基础之:数组
Java基础之:数组 一组相同数据类型的数据,我们即称之为 数组,数组也是一种数据类型. 需要注意的是 , 数组和String 字符串 相同,也是引用类型的. 数组的初始化 方式一:动态初始化 四种格 ...
- java画图消除锯齿_java – JButton文本的消除锯齿
我在JButton中使用Font Awesome来创建一个可点击的图标,但是当尺寸很小时,生成的图标会显示为别名.正如一些背景知识,Font Awesome是一个可下载的ttf文件(字体文件),其中每 ...
- java怎么定义一维数组_Java定义一个一维数组有哪几种方法
展开全部 首先: 一维62616964757a686964616fe59b9ee7ad9431333366306432数组的声明 ; 代码如下int[] ary1; //Java推荐的数组声明方式 i ...
- java反转数组_Java中如何将数组反转?Java数组反转的2种方法(代码示例)
数组操作Java数组如何反转输出?下面本篇文章就给大家介绍2种在java中实现数组反转的简单方法.有一定的参考价值,希望对大家有所帮助.[视频教程推荐:java教程] 方法一:使用循环,交换数组中元素 ...
- java大括号定义数组_Java基础语法_数组
数组的概念 数组的概念:是一种容器,可以同时存放多个数据值 数组的特点: 1.数组是一种引用数据类型 2.数组当中的多个数据,类型必须统一 3.数组的长幅在程序运行期间不可改变 数组的定义格式 数组的 ...
- java scanner输入数组_java基础- scanner/方法/数组
1.用户交互scanner Next() public class demo1 { public static void main(String[] args) { //创建一个scanner对象 S ...
- arrays中copyof复制两个数组_Java教程分享之数组知识梳理
Java是一门面向对象编程语言,具有简单易用.功能强大的特征.数组是同类型数据的有序集合,在Java中是引用数据类型,引用数据类型值都存储在堆中.有很多新手初学Java数组觉得难度大,接下来就给大家简 ...
- java 存储过程 数组_Java调用存储过程返回数组
Java调用存储过程: 结合SQL操作与存储过程 create procedure set_death_age(poet VARCHAR2, poet_age NUMBER) poet_id NUMB ...
- java二分查找算法字符串数组_Java 算法——二分查找数组集合关键元素
packagecom.sinosoft;import java.util.*;importjava.util.stream.Stream;/***@authorCreated by xushuyi * ...
最新文章
- 郭涛:忽悠 众多人工智能创业公司与AI无关
- Cocos2dx学习笔记9:cocos2dx锚点(Anchor Point)
- 中央纪委网站:​深度关注 | 元宇宙如何改写人类社会生活
- VOS3000设置落地网关优先级
- 列表ListView和列表选择框的使用编写步骤
- unity技能框架_如何使用指导框架学习新技能
- ResNet原理和实现
- 元年·潮湃 首届搜狐5G峰会倒计时 参会大咖揭晓
- 学习Linux的七点忠告
- [源码和报告分享]基于Android-JavaEE-DB2实现的旧物交易平台
- vue 实现图片预览放大以及缩小
- 正则表达式在网页文件中文本识别匹配的应用
- 医脉神剑之超声成像基础原理(转)
- 2016年轻人消费洞察
- 计算机专业创新创业培养,中职计算机专业学生创新创业能力培养思考
- 【Linux os7】--详细搭建LAMP+安装Zabbix4监控服务
- WebStorm下载与安装2022版教程注册码WebStorm使用配置
- 基于java点播影院运营系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
- 番茄钟怎么调_实操番茄钟使用方法
- 人工神经网络的发展前景,人工神经网络及其应用