Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    JAVASWING problema con spazio tra bottoni

    Ciao a tutti !
    Volevo porvi due domandine:
    1) come mai metto 20, 20 pixel come spaziatura tra un bottone e l'altro e tale spazatura non c'è quando lancio il programma, cioè i pulsanti sono tutti attaccati ?
    2) è possibile settare all'interno di un borderLayout (per esempio al centro borderLayout.CENTER) un gridLayout ?! Se si come ?!

    codice:
       
     import java.awt.*;
        import javax.swing.*;
        
        public class Calcoli
            extends JFrame
        {
            // vettore di 10 bottoni
            private JButton[] _buttons = new JButton[10];
            
            public Calcoli()
            {
                setTitle("Come usare GridLayout");
                setSize(300, 200);                           
                // faccio termianre il programma al click sulla 'x'
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
                    
                // riferimento al contenitore principale di una finestra swing    
                Container c = getContentPane();
                    
                // imposto il GridLayout (3 righe per 4 colonne)
                c.setLayout(new GridLayout(3, 4, 20, 20));
                
                // istanzio i bottoni e li aggiungo al container
                for (int i = 0; i < _buttons.length; i++)
                {
                    _buttons[i] = new JButton("" + (i + 1));
                    c.add(_buttons[i]);
                }
    
                // rendo visibile la finestra
                setVisible(true);
            }
    
            public static void main(String[] args)
            {
                new GridLayoutDemo();
            }
        }
    Grazie e Ciauz !

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JAVASWING problema con spazio tra bottoni

    Originariamente inviato da Raganello
    1) come mai metto 20, 20 pixel come spaziatura tra un bottone e l'altro e tale spazatura non c'è quando lancio il programma, cioè i pulsanti sono tutti attaccati ?
    Il tuo sorgente è corretto.

    Originariamente inviato da Raganello
    2) è possibile settare all'interno di un borderLayout (per esempio al centro borderLayout.CENTER) un gridLayout ?! Se si come ?!
    Sì, ma non come hai fatto nel sorgente.

    Facendo:
    c.setLayout(new GridLayout(3, 4, 20, 20));

    hai tolto il BorderLayout che è di default nel content-pane e hai impostato un GridLayout.

    Devi lasciare il BorderLayout nel content-pane, quindi creare un JPanel in cui imposti come layout un GridLayout (vedi costruttore di JPanel) e alla fine aggiungi il JPanel nel content-pane specificando BorderLayout.CENTER.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie x la risposta !
    Ho capito come devo fare per inserire un gridlayout al centro del pannello ma quello che mi sembra strano è sembre qulla spaziatura tra bottoni che non riesco a vedere !
    Ho messo un immagine della griglia che ho creato, neanche se la allargo i bottoni non si staccano l'uno dall'altro... come mai ?
    Immagini allegate Immagini allegate

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Ah me il tuo codice non da problemi di quel tipo, sicuro che tu non stia facendo le correzzioni su una classe e poi nel main ne istanzi un altra?
    Perche' il codice postato prima e'
    codice:
    import java.awt.*;
    import javax.swing.*;
        
    public class Calcoli extends JFrame {
            private JButton[] _buttons = new JButton[10];
            
            public Calcoli() {
                //Codice
            }
    
            public static void main(String[] args) {
                new GridLayoutDemo();
            }
    }

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.