Advertisement
AL4ST4I2

MIllozzi4

May 26th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.34 KB | None | 0 0
  1. package esercizio4.frame;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7.  
  8. /**
  9.  * Created by stefano on 12/01/16.
  10.  */
  11. public class JFrameColore extends JFrame {
  12.     public final JLabel label_R, label_G, label_B, label_COLORA;
  13.     public final JTextField text_R, text_G, text_B;
  14.     public final JButton button_COLORA;
  15.     public final JPanel panel_COLORE;
  16.  
  17.     public JFrameColore() throws HeadlessException {
  18.         setLayout(null);
  19.         label_COLORA = set(
  20.                 new JLabel("Coloriamo il mondo"),
  21.                 50, 50,
  22.                 400, 50,
  23.                 Color.orange);
  24.  
  25.  
  26.         label_R = set(new JLabel("R"), 50, 120, 40, 40, null);
  27.         label_G = set(new JLabel("G"), 50, 170, 40, 40, null);
  28.         label_B = set(new JLabel("B"), 50, 220, 40, 40, null);
  29.  
  30.         text_R = set(new JTextField(), 100, 120, 150, 40, null);
  31.         text_G = set(new JTextField(), 100, 170, 150, 40, null);
  32.         text_B = set(new JTextField(), 100, 220, 150, 40, null);
  33.  
  34.         button_COLORA = set(new JButton("colora"), 300, 220, 150, 30, null);
  35.  
  36.  
  37.         panel_COLORE = set(new JPanel(), 300, 120, 150, 80, Color.yellow);
  38.         panel_COLORE.setOpaque(true);
  39.  
  40.         getContentPane().add(label_R);
  41.         getContentPane().add(label_G);
  42.         getContentPane().add(label_B);
  43.  
  44.         getContentPane().add(text_R);
  45.         getContentPane().add(text_G);
  46.         getContentPane().add(text_B);
  47.  
  48.         getContentPane().add(button_COLORA);
  49.         getContentPane().add(panel_COLORE);
  50.         getContentPane().add(label_COLORA);
  51.  
  52.         button_COLORA.addActionListener(new ActionListener() {
  53.             @Override
  54.             public void actionPerformed(ActionEvent e) {
  55.                 boolean err = false;
  56.                 int r = -1, g = -1, b = -1;
  57.  
  58.                 try {
  59.                     r = Integer.parseInt(text_R.getText());
  60.                     if (r < 0 || r > 255) throw new NumberFormatException();
  61.                 } catch (NumberFormatException ex) {
  62.                     text_R.setText("ERR");
  63.                     err = true;
  64.                 }
  65.  
  66.                 try {
  67.                     g = Integer.parseInt(text_G.getText());
  68.                     if (g < 0 || g > 255) throw new NumberFormatException();
  69.                 } catch (NumberFormatException ex) {
  70.                     text_G.setText("ERR");
  71.                     err = true;
  72.                 }
  73.  
  74.                 try {
  75.                     b = Integer.parseInt(text_B.getText());
  76.                     if (b < 0 || b > 255) throw new NumberFormatException();
  77.                 } catch (NumberFormatException ex) {
  78.                     text_B.setText("ERR");
  79.                     err = true;
  80.                 }
  81.  
  82.                 if (!err) {
  83.                     panel_COLORE.setBackground(new Color(r, g, b));
  84.                 }
  85.  
  86.             }
  87.         });
  88.  
  89.         setSize(600, 300);
  90.         setVisible(true);
  91.     }
  92.  
  93.     public static void main(String[] args) {
  94.         new JFrameColore();
  95.     }
  96.  
  97.     private <T extends JComponent> T set(T c, int x, int y, int dimx, int dimy, Color back) {
  98.         c.setLocation(x, y);
  99.         if (back != null) {
  100.             c.setOpaque(true);
  101.             c.setBackground(back);
  102.         }
  103.         c.setSize(dimx, dimy);
  104.         return c;
  105.     }
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement