Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    114

    [JAVA] Gestore di layout

    Ciao,
    sto usando Borderlayout come gestore di layout. Vorrei dare un allineamento verticale ai textfield, che sto inserendo in una delle 5 sezioni, ma nn ci riesco perche' li posiziona in orizzontale. Non ho trovato nulla che mi cambi questa dosposizione... come posso fare?

    E possibile poi decidere dove posizionare ogni singolo componente (textfield, bottone ecc..) oppure un oggetto Panel specificando coordinate nella finestra??

    L'utlima domanda è: Esistono Radio button nell' AWT?


    Grazie!

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Innanzitutto è sconsigliato posizionare gli elementi dell'interfaccia grafica specificando direttamente le coordinate, perche si perdono tutti i vantaggi offerti dai layout manager, con cui si può fare la stragrande maggioranza delle cose. Ad esempio per ottenere l'effetto da te voluto, non inserire direttamente i 5 textfieled nella zona che ti interessa; piuttosto crea un pannello in cui imposti un grid layout con 5 righe; in ciascuna riga metti un campo di testo, allinenandoli cosi tutti in verticale; infine aggiungi il pannello nella zona in cui prima aggiungevi i textfield. Questa è una tecnica del tutto generale per posizionare i componenti in modo efficace, ovvero comporre piu pannelli con diversi layout.

    Quanto al radio button e all'awt...consulta la documentazione...non si puo programmare in java senza avere la documentazione sotto mano!

    Infine ti consiglio caldamente ti usare swing al posto di awt,


  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    114
    Ho capito, pero' visto che sono alle prime armi mi dovresti dire per pannello che intendi???

    Grazie.

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Un Panel (o JPanel se usi swing); è semplicemente un contenitore per disporre componenti,


  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    114
    Avevo capito che ti riferivi al panel... Intendevo all' interno del panel come disporli in verticale.

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    te l'ha già detto

    invece di piazzare i componenti direttamente nella zona gestita dal broder layout, aggiungi prima un JPanel, gli setti il layout manager grid layout con 5 righe, e all'interno di questo jpanel metti le textfield

    devi fare una cosa del genere

    codice:
    class finestra extends JFrame {
    	
    	public finestra () {
    		super();
    		JPanel pannello = new JPanel();
    		pannello.setLayout(new GridLayout(5,1));
    		
    		// qui dichiari le 5 textfield
    		JTextField text1 = ...
    		[...]
    		
    		//adda le textfield nel pannello
    		pannello.add(text1) ...
    		[...]
    		
    		getContentPane().setLayout(new BorderLayout());
    		getContentPane().add(pannello,BorderLayout.CENTER);
    		
    		show();
    		
    	}
    	
    	
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2000
    Messaggi
    114
    Grazie l'avevo fatto

    Grazie ancora

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    87
    Se hai un'unica riga o un'unica colonna tanto vale che usi il BoxLayout.
    codice:
    JPanel panel = new JPanel();
    BoxLayout bl = new BoxLayout(panel, BoxLayout.Y_AXIS);
    panel.add(componente 1);
    ...
    panel.add(componente n);
    ottieni tutto in una colonna oppure per averlo su una riga
    codice:
    JPanel panel = new JPanel();
    BoxLayout bl = new BoxLayout(panel, BoxLayout.x_AXIS);
    panel.add(componente 1);
    ...
    panel.add(componente n);
    Ciao ciao!
    vlr

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.