Dovevo fare come esercizio un applicazione che contenesse una finestra con due bottoni: "piu" e "meno". Se premo "più" la finestra si deve ingrandire, se premo "meno" si deve rimpicciolire.

Questo è quello che ho fatto io:

Ho due problemi fondamentali:
1) Non riesco ad ottenere la grandezza della finestra
2) Non riesco a modificare la grandezza della finestra quando viene premuto un bottone

codice:
package up.down;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
 *
 * @author Davide
 */
public class UpDown  extends JPanel {

    int larg, alt;
    public UpDown()
    {
        super();
        JButton piu = new JButton("Piu");
        JButton meno = new JButton("Meno");
        
        //Dimension winSize = this.getSize();
        this.add(piu);
        this.add(meno);
        
         Dimension size = this.getSize();
        
       larg= size.width;
       alt=  size.height;       
       System.out.println("Larghezza "+larg+" Altezza "+alt);
        
      //  Adj plus = new Adj(this,larg+5,alt+5);
       // Adj less = new Adj(this,larg-1,alt-1);
       
         Adj plus = new Adj(this);
        Adj less = new Adj(this);
        
        piu.addActionListener(plus);  
        meno.addActionListener(less);
    }
    public static void main(String[] args) {
        // TODO code application logic here
        
        JFrame f = new JFrame(); 
        f.setContentPane(new UpDown());
        f.setSize(300,300);
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}    
    class Adj implements ActionListener
    {
        private JPanel pannello;
        int larg, alt;
   
        
         public Adj(JPanel gpannello)
        {
            pannello=gpannello;
           // larg=glarg;
            //alt=galt;
            System.out.println("larg: "+larg+" alt: "+alt);
        }


        public void actionPerformed(ActionEvent ae) 
        {
             //  pannello.setSize(400, 500);   
            
                pannello.setPreferredSize(new Dimension(400,555));
                System.out.println("click!");
        }   
        
    }