Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di shane007
    Registrato dal
    Jun 2011
    residenza
    Trentino, tra vacche ed aria buona.
    Messaggi
    55

    Problemi con swing e atw

    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!");
            }   
            
        }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Tu vuoi cambiare dimensione al JPanel o al JFrame? Perché sono due cose ben diverse. E nel tuo codice stai cambiando la dimensione del pannello... e basta...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di shane007
    Registrato dal
    Jun 2011
    residenza
    Trentino, tra vacche ed aria buona.
    Messaggi
    55
    Originariamente inviato da Alex'87
    Tu vuoi cambiare dimensione al JPanel o al JFrame? Perché sono due cose ben diverse. E nel tuo codice stai cambiando la dimensione del pannello... e basta...
    Credo che per ingrandire o rimpicciolire la finestra dovrei modificare entrambi o almeno il JFrame, giusto?
    Aggiungo che questo è uno dei miei primi programmi con le GUI, quindi siate pazienti!

  4. #4
    Utente di HTML.it L'avatar di shane007
    Registrato dal
    Jun 2011
    residenza
    Trentino, tra vacche ed aria buona.
    Messaggi
    55
    Ho provato ha modificare il JFrame, ma non ci riesco... Qualche suggerimento?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Originariamente inviato da shane007
    Credo che per ingrandire o rimpicciolire la finestra dovrei modificare entrambi o almeno il JFrame, giusto?
    Aggiungo che questo è uno dei miei primi programmi con le GUI, quindi siate pazienti!
    Se è la finestra è il frame, se è il pannello è il jpanel. Secondo me è la finestra...

  6. #6
    Utente di HTML.it L'avatar di shane007
    Registrato dal
    Jun 2011
    residenza
    Trentino, tra vacche ed aria buona.
    Messaggi
    55
    Codice PHP:
    package finestra;

    /**
     *
     * @author Davide
     */
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    class 
    Finestra extends JFrame implements ActionListener {
     private 
    JPanel panel;
     private 
    JButton updown;
     private 
    int widthheight;
     
     
    Finestra(int widthint height) {
       
    super("Nome finestra");
       
       
    this.width width;
       
    this.height height;
       
       
    panel = new JPanel();
       
    up = new JButton("+");
       
    down = new JButton("-");
       
    panel.setBackground(Color.yellow);
       
       
    up.addActionListener(this);
       
    down.addActionListener(this);
       
       
    panel.add(up);
       
    panel.add(down);
       
       
    add(panel);
       
       
    setSize(widthheight);
       
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
     
     public 
    void actionPerformed(ActionEvent ae) {
       
    JButton btn = (JButtonae.getSource();
       
       if(
    btn == up) {
         
    width+=5;
         
    height+=5;
         
    setSize(new Dimension(widthheight));
       } else {
         
    width-=5;
         
    height-=5;
         
    setSize(new Dimension(widthheight));
       }
     }
     
     
    /*
     public static void makeGUI() {
       Finestra fin = new Finestra(200,200);
       fin.setVisible(true);
     }
     

     public static void main(String[] args) {
         Finestra fin = new Finestra(200,200);
       fin.setVisible(true);
     }


  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    L'ultimo codice che hai postato a me funziona...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.