JavaFx+JFoenix 点击翻页按钮查看图片
【摘要】
JavaFx+JFoenix 点击翻页按钮查看图片
1. 前言
实现一个小Demo,通过点击翻页按钮,实现循环查看每一张图片。当查看到最后一张图片后,再次点击按钮查看第一张图片,开始下一轮循环。...
JavaFx+JFoenix 点击翻页按钮查看图片
1. 前言
实现一个小Demo,通过点击翻页按钮,实现循环查看每一张图片。当查看到最后一张图片后,再次点击按钮查看第一张图片,开始下一轮循环。
1.1. 示例Demo
示例中String数组中存放的是项目ClassPath路径的图片地址,如果不清楚Image类读取Classpath路径资源,可以查看这篇博客。
彻底解决Image读取图片路径问题: Image读取资源博客
package javafxdemo;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
/**
* @author bruce
*
* 1.将图片地址放到一个String类型的数组中
* 2.通过for循环将String数组中的数据赋值给Image()对象,
* 并将Image对象存储到 Image[]数组中
* 3.创建一个button触发showNext方法。
* 4.showNext方法通过ImageView添加Image数组的索引地址
* 获取每个Image对象中的图片地址。
*/
public class Picture extends Application {
//创建一个数组存放项目ClassPath路径下的图片。
String [] images = {
"../resources/photoimage/a.jpg",
"../resources/photoimage/b.jpg",
"../resources/photoimage/c.jpg",
};
//创建Image[]数组存放每个Image对象
Image[] image = new Image[images.length];
//当前读取的Image数组的地址
int currentIndex = 0;
ImageView imageView = new ImageView();
@Override
public void start(Stage stage) throws Exception {
BorderPane root = new BorderPane();
//通过for循环创建Image对象,并将Image对象存入Image[]数组中
for (int i = 0; i < images.length; i++) {
//创建Image类对象,并将String类型数组的数据传给Image对象。
//将Image对象存放到Image[]数组中
image[i] = new Image(images[i]);
}
//创建一个按钮事件,查看下一张图片。
Button button = new Button("向后翻页");
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
showNext();
}
});
//类初始化后,调用start方法时先调用下showNext方法,在触发Button
//默认显示第一张图片
showNext();
//设置图片宽高尺寸
imageView.setPreserveRatio(true);
imageView.setFitWidth(300);
imageView.setFitHeight(300);
//设置图片和按钮显示的位置
root.setCenter(imageView);
root.setTop(button);
//创建场景
Scene scene = new Scene(root,400,400);
//窗口添加场景
stage.setScene(scene);
//打开窗口
stage.show();
}
private void showNext() {
currentIndex++;
// 判断当前索引地址如果大于等于String类型数组就置为0从头开始。
if (currentIndex >=images.length) {
currentIndex = 0;
}
//每次查看Image[]数组中的不同的索引实现图片的翻页
imageView.setImage(image[currentIndex]);
}
public static void main(String[] args) {
Application.launch(args);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/105467345
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)