Advertisement
Guest User

Photo Album

a guest
Dec 16th, 2017
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.68 KB | None | 0 0
  1. package TP;
  2.  
  3. import java.awt.*;
  4. import java.io.*;
  5. import javax.swing.*;
  6. import java.awt.event.*;
  7.  
  8. /**
  9.  *
  10.  * @author BlackRose
  11.  */
  12. public class PhotoAlbum extends javax.swing.JFrame {
  13.  
  14.     public PhotoAlbum() {
  15.         initComponents();
  16.         showImage(pos);
  17.     }
  18.    
  19.     int pos = 0;
  20.    
  21.     public String[] getImages() {
  22.         File file = new File(getClass().getResource("/TP/Images/").getFile());
  23.         String[] imagesList = file.list();
  24.         return imagesList;
  25.     }
  26.    
  27.     public void showImage(int index){
  28.         String[] imagesList = getImages();
  29.         String imageName = imagesList[index];
  30.         ImageIcon icon = new ImageIcon(getClass().getResource("/TP/Images/"+imageName));
  31.         Image image =icon.getImage().getScaledInstance(jLabel_Image.getWidth(), jLabel_Image.getHeight(), Image.SCALE_SMOOTH);
  32.         jLabel_Image.setIcon(new ImageIcon(image));
  33.     }
  34.  
  35.     @SuppressWarnings("unchecked")                    
  36.     private void initComponents() {
  37.  
  38.         jLabel_Image = new javax.swing.JLabel();
  39.         jButton_previous = new javax.swing.JButton();
  40.         jButton_next = new javax.swing.JButton();
  41.  
  42.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  43.  
  44.         jButton_previous.setText("Previous");
  45.         jButton_previous.addActionListener(new java.awt.event.ActionListener() {
  46.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  47.                 jButton_previousActionPerformed(evt);
  48.             }
  49.         });
  50.  
  51.         jButton_next.setText("Next");
  52.         jButton_next.addActionListener(new java.awt.event.ActionListener() {
  53.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  54.                 jButton_nextActionPerformed(evt);
  55.             }
  56.         });
  57.  
  58.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  59.         getContentPane().setLayout(layout);
  60.         layout.setHorizontalGroup(
  61.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  62.             .addGroup(layout.createSequentialGroup()
  63.                 .addContainerGap()
  64.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  65.                     .addComponent(jLabel_Image, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  66.                     .addGroup(layout.createSequentialGroup()
  67.                         .addComponent(jButton_previous, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)
  68.                         .addGap(18, 18, 18)
  69.                         .addComponent(jButton_next, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)
  70.                         .addGap(0, 797, Short.MAX_VALUE)))
  71.                 .addContainerGap())
  72.         );
  73.         layout.setVerticalGroup(
  74.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  75.             .addGroup(layout.createSequentialGroup()
  76.                 .addContainerGap()
  77.                 .addComponent(jLabel_Image, javax.swing.GroupLayout.PREFERRED_SIZE, 599, javax.swing.GroupLayout.PREFERRED_SIZE)
  78.                 .addGap(18, 18, Short.MAX_VALUE)
  79.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  80.                     .addComponent(jButton_previous, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
  81.                     .addComponent(jButton_next, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE))
  82.                 .addContainerGap())
  83.         );
  84.  
  85.         pack();
  86.     }                      
  87.  
  88.     private void jButton_nextActionPerformed(java.awt.event.ActionEvent evt) {                                            
  89.         pos = pos +1;
  90.         if(pos >= getImages().length){
  91.             pos = getImages().length -1;
  92.         }
  93.         showImage(pos);
  94.     }                                            
  95.  
  96.     private void jButton_previousActionPerformed(java.awt.event.ActionEvent evt) {                                                
  97.         pos = pos -1;
  98.          if(pos < 0){
  99.             pos = 0;
  100.         }
  101.         showImage(pos);
  102.     }                                                
  103.  
  104.      public static void main(String args[]) {
  105.          try {
  106.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  107.                 if ("Nimbus".equals(info.getName())) {
  108.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  109.                     break;
  110.                 }
  111.             }
  112.         } catch (ClassNotFoundException ex) {
  113.             java.util.logging.Logger.getLogger(PhotoAlbum.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  114.         } catch (InstantiationException ex) {
  115.             java.util.logging.Logger.getLogger(PhotoAlbum.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  116.         } catch (IllegalAccessException ex) {
  117.             java.util.logging.Logger.getLogger(PhotoAlbum.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  118.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  119.             java.util.logging.Logger.getLogger(PhotoAlbum.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  120.         }
  121.        
  122.         java.awt.EventQueue.invokeLater(new Runnable() {
  123.             public void run() {
  124.                 new PhotoAlbum().setVisible(true);
  125.             }
  126.         });
  127.     }
  128.              
  129.     private javax.swing.JButton jButton_next;
  130.     private javax.swing.JButton jButton_previous;
  131.     private javax.swing.JLabel jLabel_Image;              
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement