Darano

View.java

Oct 14th, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.54 KB | None | 0 0
  1. package view;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.ActionListener;
  6.  
  7. public class View {
  8.     //vars
  9.     private int width;
  10.     private int height;
  11.     private ActionListener listener;
  12.  
  13.     //methods
  14.     private void initGUI() {
  15.         JFrame frame = new JFrame("Shapes");
  16.         JPanel panel = new JPanel();
  17.  
  18.         JButton btnSmall = new JButton("Small");
  19.         JButton btnMed = new JButton("Medium");
  20.         JButton btnLarge = new JButton("Large");
  21.  
  22.         //set ActionListener on each button (see method below=
  23.         handleEvents(btnSmall, btnMed, btnLarge);
  24.  
  25.         panel.setLayout(new GridLayout(1, 5, 3, 3));
  26.         panel.add(btnSmall);
  27.         panel.add(btnMed);
  28.         panel.add(btnLarge);
  29.  
  30.         frame.add(panel);
  31.         frame.setResizable(false);
  32.         frame.pack();
  33.         frame.getContentPane().setLayout(new FlowLayout());
  34.         frame.setSize(new Dimension(width, height));
  35.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36.         frame.setLocationRelativeTo(null);
  37.         frame.setVisible(true);
  38.     }
  39.  
  40.     //set the same listener for each given button
  41.     private void handleEvents(JButton... btn) {
  42.         for (JButton button : btn) {
  43.             if (null != button) {
  44.                 button.addActionListener(this.listener);
  45.             }
  46.         }
  47.     }
  48.  
  49.     //construtor
  50.     public View(int width, int height, ActionListener e) {
  51.         this.width = width;
  52.         this.height = height;
  53.         this.listener = e;
  54.         initGUI();
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment