我们在做一个图片浏览器,遇到翻页问题,不知道该如何写相应的button监听器请各位大牛帮忙

解决方案 »

  1.   

    问题无真相...如果是SWING的,相当简单...
      

  2.   

    是在做一个图片浏览器,用swing来做的,打开老是无法显示图片文件
    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()));
      
     } 
    }
      

  3.   

    chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    改为
    chooser.setMultiSelectionEnabled(true);