10R,求个简单的JAVA图片浏览器,窗体我设计好了,只需要,下一张,上一张按钮具有功能。,急

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10R,求个简单的JAVA图片浏览器,窗体我设计好了,只需要,下一张,上一张按钮具有功能。,急相关的知识,希望对你有一定的参考价值。

自定义一个jpanel用于展示image

/**
 * 
 */
package org.demo;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.util.HashMap;
import java.util.Map;

import javax.swing.JPanel;

/**
 * @ClassName: ImageView
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author Btboy1978
 * @date 2017年6月12日 下午9:46:13 *
 */
public class ImageView extends JPanel 

private Map<Integer, Image> images;
private int currentIndex;

public ImageView() 
super();
images = new HashMap<Integer, Image>();
currentIndex = 0;


/*
 * (non-Javadoc)
 * 
 * @see javax.swing.JComponent#paint(java.awt.Graphics)
 */
@Override
public void paint(Graphics g) 
g.clearRect(0, 0, WIDTH, HEIGHT);
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(images.get(currentIndex), 0, 0, this);



public void showNext() 
if (images.size() != 0) 
if (currentIndex != images.size() - 1) 
currentIndex++;



this.repaint();


public void showUp() 
if (images.size() != 0) 
if (currentIndex != 0) 
currentIndex--;



this.repaint();



public void addImage(Image image)
images.put(images.size(), image);
System.out.println(images.size());


测试方法

/**
 * 
 */
package org.demo;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.awt.event.ActionEvent;

/** 
* @ClassName: ImageViewTest 
* @Description: TODO(这里用一句话描述这个类的作用) 
* @author Btboy1978
* @date 2017年6月12日 下午9:59:42 *  
*/
public class ImageViewTest extends JFrame 

private JPanel contentPane;
private ImageView imageView;

/**
 * Launch the application.
 */
public static void main(String[] args) 
EventQueue.invokeLater(new Runnable() 
public void run() 
try 
ImageViewTest frame = new ImageViewTest();
frame.setVisible(true);
 catch (Exception e) 
e.printStackTrace();


);


/**
 * Create the frame.
 */
public ImageViewTest() 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 393);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

imageView = new ImageView();
imageView.setBounds(10, 10, 414, 284);
try 
imageView.addImage(ImageIO.read(new File("images/1.jpg")));
imageView.addImage(ImageIO.read(new File("images/2.jpg")));
imageView.addImage(ImageIO.read(new File("images/3.jpg")));
imageView.addImage(ImageIO.read(new File("images/4.jpg")));
 catch (IOException e1) 
// TODO Auto-generated catch block
e1.printStackTrace();










contentPane.add(imageView);

JButton btnNewButton = new JButton("UP");
btnNewButton.addActionListener(new ActionListener() 
public void actionPerformed(ActionEvent e) 
imageView.showUp();

);
btnNewButton.setBounds(81, 304, 117, 41);
contentPane.add(btnNewButton);

JButton button = new JButton("NEXT");
button.addActionListener(new ActionListener() 
public void actionPerformed(ActionEvent e) 
imageView.showNext();

);
button.setBounds(228, 304, 117, 41);
contentPane.add(button);

参考技术A 使用线程start和interrupt即可追问

用侦听器可以吗?,我试了好多侦听器代码都不行

WinForm窗体,在VS2010上背景颜色不能设置透明,我把背景颜色和TransparencyK

WinForm窗体,在VS2010上背景颜色不能设置透明,我把背景颜色和TransparencyKey设置成同一个颜色,然后是透明了,但是加上背景图片以后就不是透明了,为毛,想要的效果就是像QQ的客户端一样,四角是透明的圆角,背景图片已经处理好了,在VS2012就可以设置透明背景颜色,求解低版本的实现方法啊,没分,对不住啊。。

参考技术A form的属性里有个opacity属性,可以调节控件的不透明度百分比,这个不行?追问

。。。。那个是设置整体窗体透明度的,而我只想让窗体本身透明。上面的控件并不透明,其实我就是想弄个圆角的窗口嘛,图片扣好了,但是四角总是会显示Form的背景色,。。。坑死

以上是关于10R,求个简单的JAVA图片浏览器,窗体我设计好了,只需要,下一张,上一张按钮具有功能。,急的主要内容,如果未能解决你的问题,请参考以下文章

java怎么做图片浏览器

基于Access的学生信息管理系统设计(下):窗体设计

C#程序设计窗体如何将导入的图片背景变成透明?

在JAVA中,实现一个简单的图像浏览器,部署“上一张”、“下一张”两个按钮,点击按钮可前后翻阅图片。

简单的java图片浏览器,使图片居中显示

VS2019web网站没有复制