Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package esercizio4.frame;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- /**
- * Created by stefano on 12/01/16.
- */
- public class JFrameColore extends JFrame {
- public final JLabel label_R, label_G, label_B, label_COLORA;
- public final JTextField text_R, text_G, text_B;
- public final JButton button_COLORA;
- public final JPanel panel_COLORE;
- public JFrameColore() throws HeadlessException {
- setLayout(null);
- label_COLORA = set(
- new JLabel("Coloriamo il mondo"),
- 50, 50,
- 400, 50,
- Color.orange);
- label_R = set(new JLabel("R"), 50, 120, 40, 40, null);
- label_G = set(new JLabel("G"), 50, 170, 40, 40, null);
- label_B = set(new JLabel("B"), 50, 220, 40, 40, null);
- text_R = set(new JTextField(), 100, 120, 150, 40, null);
- text_G = set(new JTextField(), 100, 170, 150, 40, null);
- text_B = set(new JTextField(), 100, 220, 150, 40, null);
- button_COLORA = set(new JButton("colora"), 300, 220, 150, 30, null);
- panel_COLORE = set(new JPanel(), 300, 120, 150, 80, Color.yellow);
- panel_COLORE.setOpaque(true);
- getContentPane().add(label_R);
- getContentPane().add(label_G);
- getContentPane().add(label_B);
- getContentPane().add(text_R);
- getContentPane().add(text_G);
- getContentPane().add(text_B);
- getContentPane().add(button_COLORA);
- getContentPane().add(panel_COLORE);
- getContentPane().add(label_COLORA);
- button_COLORA.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- boolean err = false;
- int r = -1, g = -1, b = -1;
- try {
- r = Integer.parseInt(text_R.getText());
- if (r < 0 || r > 255) throw new NumberFormatException();
- } catch (NumberFormatException ex) {
- text_R.setText("ERR");
- err = true;
- }
- try {
- g = Integer.parseInt(text_G.getText());
- if (g < 0 || g > 255) throw new NumberFormatException();
- } catch (NumberFormatException ex) {
- text_G.setText("ERR");
- err = true;
- }
- try {
- b = Integer.parseInt(text_B.getText());
- if (b < 0 || b > 255) throw new NumberFormatException();
- } catch (NumberFormatException ex) {
- text_B.setText("ERR");
- err = true;
- }
- if (!err) {
- panel_COLORE.setBackground(new Color(r, g, b));
- }
- }
- });
- setSize(600, 300);
- setVisible(true);
- }
- public static void main(String[] args) {
- new JFrameColore();
- }
- private <T extends JComponent> T set(T c, int x, int y, int dimx, int dimy, Color back) {
- c.setLocation(x, y);
- if (back != null) {
- c.setOpaque(true);
- c.setBackground(back);
- }
- c.setSize(dimx, dimy);
- return c;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement