Advertisement
Guest User

jpanel image

a guest
Apr 5th, 2020
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.75 KB | None | 0 0
  1. package view;
  2.  
  3. import javax.imageio.ImageIO;
  4. import javax.swing.*;
  5. import javax.swing.filechooser.FileNameExtensionFilter;
  6. import java.awt.*;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.io.File;
  10. import java.io.IOException;
  11.  
  12. public class MainView extends JFrame {
  13.  
  14.     public ImageIcon imageIconLeft;
  15.  
  16.     public MainView() {
  17.         this.setTitle("TP3 log 121");
  18.         init();
  19.         this.setVisible(true);
  20.     }
  21.  
  22.     private void init() {
  23.  
  24.         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  25.         int screenX = screenSize.width;
  26.         int screenY = screenSize.height;
  27.  
  28.         JMenuBar menuBar = new JMenuBar();
  29.         JMenu menuFichier = new JMenu("Fichier");
  30.         JMenu menuEdit = new JMenu("Edit");
  31.         menuBar.add(menuFichier);
  32.         menuBar.add(menuEdit);
  33.         JMenuItem menuItemOuvrir = new JMenuItem("Ouvrir");
  34.         JMenuItem menuItemSaveAs = new JMenuItem("Enregistrer sous");
  35.         JMenuItem menuItemUndo = new JMenuItem("Undo");
  36.  
  37.         menuItemOuvrir.addActionListener(new ActionListener() {
  38.  
  39.             public void actionPerformed(ActionEvent ev) {
  40.                 try {
  41.  
  42.                     JFileChooser jFileChooser = new JFileChooser(System.getProperty("user.home"));
  43.                     jFileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
  44.                     FileNameExtensionFilter fileFilter = new FileNameExtensionFilter("Images", "jpg", "png", "gif", "bmp");
  45.                     jFileChooser.addChoosableFileFilter(fileFilter);
  46.                     jFileChooser.setFileFilter(fileFilter);
  47.  
  48.                     if(jFileChooser.showOpenDialog(menuBar) == JFileChooser.APPROVE_OPTION) {
  49.                         File file = jFileChooser.getSelectedFile();
  50.                         Image img = ImageIO.read(file);
  51.                         imageIconLeft = new ImageIcon(img);
  52.                     }
  53.  
  54.                 } catch (IOException e) {
  55.                     e.printStackTrace();
  56.                 }
  57.             }
  58.         });
  59.  
  60.  
  61.         menuFichier.add(menuItemOuvrir);
  62.         menuFichier.add(menuItemSaveAs);
  63.         menuEdit.add(menuItemUndo);
  64.  
  65.         JPanel centerPanel = new JPanel();
  66.         centerPanel.setBackground(Color.cyan);
  67.         centerPanel.setLayout(new GridLayout(1, 2));
  68.         JPanel leftPanel = new JPanel();
  69.  
  70.         leftPanel.setBackground(Color.orange);
  71.  
  72.         JLabel leftImgjLabel = new JLabel();
  73.         ImageIcon imgThisImg = new ImageIcon("https://homepages.cae.wisc.edu/~ece533/images/airplane.png");
  74.         leftImgjLabel.setIcon(imgThisImg);
  75.         leftPanel.setLayout(null);
  76.         leftPanel.add(leftImgjLabel);
  77.  
  78.  
  79.         JPanel rightPanel = new JPanel();
  80.         rightPanel.setBackground(Color.GRAY);
  81.  
  82.         centerPanel.add(leftPanel);
  83.         centerPanel.add(rightPanel);
  84.         this.getContentPane().add(BorderLayout.CENTER, centerPanel);
  85.  
  86.  
  87.         JPanel southPanel = new JPanel();
  88.         southPanel.setLayout(new FlowLayout());
  89.         southPanel.setBackground(Color.pink);
  90.         //southPanel.setSize(80,80);
  91.  
  92.         JPanel thumbPanel = new JPanel();
  93.         int thumbHeight = (int) (Math.round(screenY * 0.20));
  94.         int thumbWidth = thumbHeight;
  95.         thumbPanel.setPreferredSize(new Dimension(thumbWidth, thumbHeight));
  96.         thumbPanel.setBackground(Color.LIGHT_GRAY);
  97.         southPanel.add(thumbPanel);
  98.         this.getContentPane().add(BorderLayout.SOUTH, southPanel);
  99.  
  100.         this.getContentPane().add(BorderLayout.NORTH, menuBar);
  101.         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  102.         this.setSize(screenSize);
  103.         this.setLocationRelativeTo(null);
  104.         this.setExtendedState(JFrame.MAXIMIZED_BOTH);
  105.  
  106.         this.pack();
  107.  
  108.     }
  109.  
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement