我们在做一个图片浏览器,遇到翻页问题,不知道该如何写相应的button监听器请各位大牛帮忙
解决方案 »
- Calendar 类的add() 方法
- 奇怪的SQL
- System.out.println和System.err.println有什么区别,实际我试过都一样输出?
- 能否实现这样的下载功能,谢谢
- 有没有像vb里面FSO(FileSystemObject)对文件的操作那么方便用的java包啊?
- 讨论下强引用
- 在接口声明一个抽象方法,为什么,请大家讨论一下
- 我明明得分了,但为什么在"我的专家分"里都是0??
- 谁知道那有VISUALAGE最高版本下载?一定给分。
- 新手请教:哪位帮忙看一下这段怎么错了,我明明加了import java.lang.*;为什么提示Undefined variable or class name :Integer和Class StringTokenizer not found
- 游标举例
- 将byte[]转成int和C中atoi效果不一样
import java.awt.*;
import java.awt.event.*;
import java.io.*;import javax.swing.*;
public class ImageViewer implements ActionListener{//Runnable {
private JPanel panel;
private JLabel pl;
private JScrollPane showImagePane;
private JButton jmiOpen,jmiCome,jmiBack;
private JFrame content;
private JFileChooser chooser;
private File [] file;
private int index;
//Thread auto;
boolean autoFlag;
int delay=5*1000;
ImageViewer(){
pl=new JLabel();
pl.setHorizontalAlignment(JLabel.CENTER);
showImagePane=new JScrollPane(pl);
jmiCome=new JButton("下页");
jmiBack=new JButton("上页");
panel=new JPanel(new FlowLayout(FlowLayout.CENTER));
panel.add(jmiBack);
panel.add(jmiCome);
jmiOpen=new JButton("图片打开");
chooser=new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
content=new JFrame();
content.setDefaultCloseOperation(3);
content.getContentPane().add(jmiOpen,"North");
content.getContentPane().add(showImagePane,"Center");
content.getContentPane().add(panel,"South");
content.setSize(400,300);
content.setLocationRelativeTo(null);
content.setVisible(true);
//给按钮加入事件侦听器
jmiCome.addActionListener(this);
jmiBack.addActionListener(this);
jmiOpen.addActionListener(this);
// auto=new Thread(this);
// auto.start();
}
public static void main(String[] args) {
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
}catch(Exception e){
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e2){}
}
new ImageViewer();
}
//处理各按键事件
public void actionPerformed(ActionEvent e) {
Object src=e.getSource();
if(src==jmiOpen){
int o=chooser.showOpenDialog(content);
if(o==JFileChooser.APPROVE_OPTION){
// String fileName = chooser.getSelectedFile().getAbsolutePath(); //得到选择的文件名
file=chooser.getSelectedFile().listFiles(new FilenameFilter(){
//合法的文件后缀
String[] suf={".PNG",".GIF",".JPG",".png",".gif",".jpg",};
public boolean accept(File dir, String name) {
name=name.toUpperCase();
for(int i=0; i<suf.length; i++)
if(name.endsWith(suf[i]))return true;
return false;
}
});
if(file.length>0){
index=0;
// showPic();
}
}
}
if(file==null||file.length==0)return;
JButton button = (JButton)e.getSource();
if(button==jmiCome)jmiCome();
else if(button==jmiBack)jmiBack();
}
void jmiBack(){
index=--index<0?File.pathSeparatorChar-1:index;
pl.setIcon(new ImageIcon(file[index].getAbsolutePath()));
}
void jmiCome(){
index=++index>File.pathSeparatorChar-1?0:index;
pl.setIcon(new ImageIcon(file[index].getAbsolutePath()));
}
}
改为
chooser.setMultiSelectionEnabled(true);