Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26

Discussione: [swing]

  1. #1

    [swing]

    ciao a tutti
    vorrei sapere come faccio a mettere vari elementi di un JFrame e quindi JLabel, JTextField e altri uno sotto l'altro?
    grazie

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

    Re: [swing]

    Originariamente inviato da fatina biondina
    vorrei sapere come faccio a mettere vari elementi di un JFrame e quindi JLabel, JTextField e altri uno sotto l'altro?
    grazie
    Inizia a studiare cosa sono e cosa fanno i "layout manager".

    --> http://java.sun.com/docs/books/tutor...ut/visual.html
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    grazie
    ma non c'è bisogno di essere così prepotenti -.-
    la conoscenza non è forma di prepotenza bah

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non te la prendere, andbin non voleva affatto essere né suonare prepotente... è solo che sul forum ci si ritrova decine di thread a settimana con richieste che lasciano intendere il non aver manco dato un'occhiata al manuale della libreria che si intende utilizzare... il che onestamente non è proprio plausibile.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    ok hai ragione però io nel frattempo che aspettavo la risposta sto cercando nel manuale ho trovato anke gli esempi ma non riesco proprio a capire come si fa sto layout boh
    ecco perkè ho kiesto magari voi me lo potevate spiegare più semplicemente
    tutto qua

  6. #6
    cmq il cardlayout non è quello che sto cercando io
    perkè da quanto ho visto dagli esempi anke eseguiti appena effettuo una scelta il frame si "trasforma" in un altro senza crearne un'altro
    io invece voglio mettere degli elementi uno sotto l'altro e non come fa il flowlayout ke me li mette tutti su una riga ma in righe diverse
    forse devo usare un BorderLayout?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Io userei un BorderLayout (e' gia' assegnato di default al contentPane del frame). Nella parte centrale metti un pannello con un BoxLayout verticale, nella parte alta un BoxLayout orizzontale:

  8. #8
    Cioè?
    (non sono molto esperta di swing è la prima volta ke le faccio)
    magari non è più opportuno usare una GridBagLayout?
    allora vi faccio vedere come dovrebbe essere

    Inserisci dati del correntista:

    nome: |______|

    cognome: |______|

    ecc...
    come lo devo fare? magari creando una griglia?

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fatina biondina
    ma non c'è bisogno di essere così prepotenti
    Prepotente io??? Ma scherziamo??

    Comunque ecco un esempietto semplice:
    codice:
    import java.awt.*;
    import javax.swing.*;
    
    public class TestFrame extends JFrame
    {
        private JPanel panel;
        private JLabel label1;
        private JLabel label2;
        private JTextField field1;
        private JTextField field2;
    
        public TestFrame ()
        {
            super ("Prova");
    
            setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
            setSize (300, 300);
    
            label1 = new JLabel ("Label 1");
            field1 = new JTextField ();
            label2 = new JLabel ("Label 2");
            field2 = new JTextField ();
    
            panel = new JPanel ();
            panel.setLayout (new GridLayout (4, 1, 5, 5));
            panel.setBorder (BorderFactory.createEmptyBorder (10, 10, 10, 10));
            panel.add (label1);
            panel.add (field1);
            panel.add (label2);
            panel.add (field2);
    
            add (panel, BorderLayout.NORTH);
        }
    
        public static void main (String[] args)
        {
            SwingUtilities.invokeLater (new Runnable ()
            {
                public void run ()
                {
                    TestFrame f = new TestFrame ();
                    f.setVisible (true);
                }
            });
        }
    }
    Ho usato un panel apposito che usa GridLayout. Quest'ultimo permette facilmente di specificare numero di righe/colonne ma anche un 'gap' (distanza) tra i vari componenti.

    Il risultato è un bel:
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    scusami allora se ti ho dato del prepotente ma leggendo mi sembrava quello il tono
    ecco il brutto delle "chat"
    cmq grazie tante

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.