Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269

    GridLayout, posizionare precisamente gli oggetti

    Ragazzi se ho un "GridLayout" e voglio fare in modo che contenga 5 righe e 3 colonne con :

    la prima riga deve contenere i pulsanti: 7 ,8,9
    la seconda riga: 4 , 5, 6
    la terza riga: 1, 2, 3

    mentre la quarta colonna deve contenere:
    +, -, x, /

    Come la tastierina di una calcolatrice, come posso gestire il posizionamento preciso dei pulsanti?

    Fino ad ora sono riuscito a fare questo:
    codice:
    public class Grid extends JPanel
    {
    	private MyButton[] pulsanti;
    	
    	public Grid(){
    		setLayout(new GridLayout(6,5));
    		
    		/* istanzio un array di tipo MyButton */
    		pulsanti = new MyButton[10];
    		
    		for (int i=0; i<10; i++){
    			pulsanti[i] = new MyButton(String.valueOf(i));
    		}
    		
    		for (int i=0; i<10; i++){ 
    			add(pulsanti[i]);
    		}
    	}
    }
    Ma non fà altro che inserire per la prima colonna i pulsanti: 0,2,4,6,8
    e la seconda colonna: 1, 3, 5, 7, 9.

    Qualcuno può aiutarmi..
    Grazie anticipatamente
    Con i sogni possiamo conoscere il futuro...

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

    Re: GridLayout, posizionare precisamente gli oggetti

    Originariamente inviato da gaten
    come posso gestire il posizionamento preciso dei pulsanti?
    Cosa intendi per "posizionamento preciso"? Guarda che in GridLayout i componenti inseriti appaiono a video con una sequenza ben precisa, tra l'altro documentata nel javadoc di GridLayout.
    Trascuriamo un momento l'orientamento orizzontale Right-to-Left (quello per le lingue arabe e simili) ma nel caso tradizionale di Left-to-Right la sequenza è da sinistra verso destra, dall'alto verso il basso.

    Quindi inserendo componenti puoi avere.

    12
    34
    56
    78

    oppure

    1234
    5678

    Ma la sequenza è sempre nel senso mostrato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Si questo l'avevo notato, il mio problema è un altro.

    Hai presente la calcolatrice in windows 7, dovrei posizionare i bottoni in quella maniera. Cioè come faccio a mettere nella terza colonna solamente i pulsanti speciali(+,x,-, /) mentre nella altre due colonne distribuisco i pulsanti per rappresentare i numeri?
    Con i sogni possiamo conoscere il futuro...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da gaten
    Hai presente la calcolatrice in windows 7, dovrei posizionare i bottoni in quella maniera. Cioè come faccio a mettere nella terza colonna solamente i pulsanti speciali(+,x,-, /) mentre nella altre due colonne distribuisco i pulsanti per rappresentare i numeri?
    Ma scusa, se hai capito come GridLayout distribuisce in sequenza i componenti ..... allora fai appunto in modo che la sequenza sia giusta per l'aspetto che intendi avere!
    Crea una struttura dati (es. matrice bidimensionale di pulsanti) oppure usa della logica con qualche calcolo oppure altro ancora (es. la più banale: disponi gli add nella sequenza giusta per il tuo aspetto).


    P.S. Ah, magari non ti interessa questo aspetto ma nella calcolatrice di windows (perlomeno su Windows 7) c'è lo 0 che spanna su 2 celle. Con GridLayout non puoi farlo. È in grado di farlo GridBagLayout.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.