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图片浏览器,窗体我设计好了,只需要,下一张,上一张按钮具有功能。,急的主要内容,如果未能解决你的问题,请参考以下文章