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

    [Java] createHorizontalGlue non fa il suo dovere

    salve ragazzi, ho questo codice:

    codice:
    public GestoreDivX() {
    		super("GestoreDivX");
    		Container cp=getContentPane();
    		cp.setLayout(new BoxLayout(cp, BoxLayout.PAGE_AXIS));
    		JPanel pannello11=new JPanel();
    		JPanel pannello12=new JPanel();
    		JPanel pannello13=new JPanel();
    		pannello11.setLayout(new FlowLayout());
    		pannello12.setLayout(new FlowLayout());
    		pannello13.setLayout(new FlowLayout());
    		pannello11.add(jl_titolo);
    		pannello11.add(Box.createHorizontalGlue());
    		pannello11.add(jtf_titolo);
    		pannello12.add(jl_genere);
    		pannello12.add(Box.createHorizontalGlue());
    		pannello12.add(jcb_genere);
    		pannello11.add(jtf_titolo);
    		pannello13.add(jl_anno);
    		pannello13.add(Box.createHorizontalGlue());
    		pannello13.add(jcb_anno);
    		cp.add(pannello11);
    		cp.add(pannello12);
    		cp.add(pannello13);
    		setBounds(10, 10, 300, 300);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setVisible(true);
    	}
    come potete leggere, utilizzo createHorizontalGlue per porre una "colla" fra la label e il componente, in modo da distanziare quanto più possibile gli elementi.
    come mai, invece, ottengo al massimo questo risultato (cioè, per esempio, perchè l'etichetta "Genere" non si trova all'estrema sinistra dell'interfaccia e il relativo ComboBox all'estrema destra)?



    grazie a quanti risponderanno! ;)

  2. #2

  3. #3
    ehm, credo di aver capito il perchè: tale metodo ha senso solo se invocato nel contesto di un layout che usi il BoxLayout (e non il FlowLayout, come facevo io).

    spero possa servire a qualcuno! ;)

    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.