this.page = pageMax;
}
break;
case LARGE:
this.count += page;
if (count0) {
count = 0;
}
if (countpaths.size() - 1) {
count = paths.size() - 1;
}
break;
}
this.showingImage();
}
}
public void showingImage() {
this.remove(showingPanel);
showingPanel = new JPanel();
int size = paths.size();
int max = MAX_R * MAX_C;
pageMax = (size % max == 0 ? size / max : size / max + 1);
switch (showType) {
case GRID:
this.setBounds(100, 100, G_WIDTH, G_HEIGHT);
showingPanel.setLayout(new GridLayout(MAX_R, MAX_C - 1));
int i = (page - 1) * max;
int j = page * max;
for (; ijisize; i++) {
String path = paths.get(i);
showingPanel.add(new ImagePanel(path));
}
break;
case LARGE:
int left = count - 1;
int right = count + 1;
this.setBounds(100, 100, L_WIDTH, L_HEIGHT);
showingPanel.setLayout(new GridLayout(1, 2));
if (left = 0) {
showingPanel.add(new ImagePanel(paths.get(left)));
} else {
showingPanel.add(new ImagePanel(""));
}
showingPanel.add(new ImagePanel(paths.get(count)));
if (rightsize) {
showingPanel.add(new ImagePanel(paths.get(right)));
} else {
showingPanel.add(new ImagePanel(""));
}
break;
}
this.add(showingPanel, BorderLayout.CENTER);
showingPanel.updateUI();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new ImageGallery();
}
class ImagePanel extends JPanel {
private ImageIcon image;
ImagePanel(String path) {
image = new ImageIcon(path);
}
public ImageIcon getImageIcon() {
return this.image;
}
@Override
protected void paintComponent(Graphics g) {
// TODO Auto-generated method stub
g.drawImage(image.getImage(), 0, 0, this.getWidth(), this
.getHeight(), this);
}
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String key = e.getActionCommand();
System.out.println(key);
if (key.equals("open")) {
doOpen();
} else if (key.endsWith("last")) {
changePage(-1);
} else if (key.endsWith("next")) {
changePage(1);
} else if (key.endsWith("large")) {
if (!paths.isEmpty()) {
count =0;
showType = LARGE;
showingImage();
}
} else if (key.endsWith("grid")) {
if (!paths.isEmpty()) {
page = 1;
showType = GRID;
showingImage();
}
}
}
}
java怎么做图片浏览器以前在itjob做过:就功能来讲:需要展示,需要上一页和下一页,,,这是最简单的
布局上讲:一个Panel展示,一个Panel操作
设计的话, , 首先得有图片的路径,可以保存在一个list链表中,点击上一页或下一页,展示图片的JPanel通过list的路径,找到相应的图片,并画出来, , 这样就可以了
其他:至于其他的扩展功能,如全屏,旋转等 , ,都可以一点一点再加 , 先完成大体的架构功能吧
java swing编写的图片浏览器不显示图片,这是文件选择器的代码关于样式显示不出来:1.检查样式的书写格式是否正确,如:style/style可能无效,尝试style type="text/css"/style 另外 , 检查样式代码中是否缺少结束标识符 。2.如果是引用的外部样式文件,检查下路径是否正确!3.部分样式无效,检查选择器是否正确,如样式定义为:#box,检查标签是否为:div id="box"/div , 防止class和id混淆 。4.动态页面有时候需要多刷新几下更新缓存 。多刷新几下确保样式被重新加载 。5.样式兼容性,这个就比较特殊了,检查你的样式整体设计是否合理 。有时候浮动、高度等设置不当 , 导致页面无法正常显示 , 另外 , 标签或属性的书写错误也会导致样式执行失效 。
推荐阅读
- 擂台射击游戏,擂台游戏单机版
- 公众号支付totalfee,公众号支付验证和微信验证的区别
- 顶级固态硬盘怎么安装系统,顶配固态硬盘
- 玩射击游戏用什么平板电脑,玩射击游戏用什么平板电脑好
- mysql怎么取到分组 mysql的分组函数
- 慢节奏视频叫什么,慢节奏rts
- MySQL一个用户可多张表,mysql一个数据库最多放多少张表?
- mysql视图怎么导出 mysql导出视图创建语句
- 华为鸿蒙模块供应商,华为鸿蒙主题各模块代码