Swing > Minimo, massimo, totale, media e uscita

Vedi la versione AWT.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
class JMMTM extends    JFrame
            implements ActionListener
{
    private JTextField txt1, txt2, txt3, txt4;
    private JLabel     lOut;
    private JButton    bMIN, bMAX, bTOT, bMED;
    
 
    public JMMTM()
    {
       JPanel pNORTH=new JPanel(); txt1=new JTextField("-20", 10); pNORTH.add(txt1);
                                   txt2=new JTextField("-1" , 10); pNORTH.add(txt2);
                                   txt3=new JTextField("+1" , 10); pNORTH.add(txt3);
                                   txt4=new JTextField("+20", 10); pNORTH.add(txt4);
                                   this.add(pNORTH, BorderLayout.NORTH);
 
       lOut =new JLabel("???", JLabel.CENTER);
                                   this.add(lOut, BorderLayout.CENTER);
 
       JPanel pSOUTH=new JPanel(); bMIN=new JButton("Minimo");  bMIN.addActionListener(this); pSOUTH.add(bMIN);
                                   bMAX=new JButton("Massimo"); bMAX.addActionListener(this); pSOUTH.add(bMAX);
                                   bTOT=new JButton("Totale");  bTOT.addActionListener(this); pSOUTH.add(bTOT);
                                   bMED=new JButton("Media");   bMED.addActionListener(this); pSOUTH.add(bMED);         
                                   this.add(pSOUTH, BorderLayout.SOUTH);
 
       this.setTitle("Calcolo minimo/massimo/totale/media");
       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       this.pack();
       this.setVisible(true);
    }
 
    public void actionPerformed(ActionEvent evento)
    {
       JButton comando=(JButton)evento.getSource();
       String msg =new String();
 
       try
       {
          double in1=Double.parseDouble(txt1.getText());
          double in2=Double.parseDouble(txt2.getText());
          double in3=Double.parseDouble(txt3.getText());
          double in4=Double.parseDouble(txt4.getText());
          double risultato=0;
 
          if(comando==bMIN)      {
                                    risultato=Math.min(Math.min(in1, in2), Math.min(in3, in4));
                                    msg="Minimo = " + risultato;
                                 }
          else if(comando==bMAX) {
                                    risultato=Math.max(Math.max(in1, in2), Math.max(in3, in4));
                                    msg="Massimo = " + risultato;
                                 }
          else if(comando==bTOT) {
                                    risultato=in1+in2+in3+in4;
                                    msg="Totale = "+risultato;
                                 }
          else if(comando==bMED) {
                                    risultato=(in1+in2+in3+in4)/4.0;
                                    msg="Media = "+risultato;
                                 }
       }
       catch(Exception eccezione)
       {
          msg="??? Input errato ???";
       }
 
       lOut.setText(msg);
    }
 
    public static void main(String[] args)
    {
       JMMTM jFrame = new JMMTM();
    }
 
}

Osserva

  1. JLabel, JButton, JTextField, JPanel, JFrame
  2. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);