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

    [JAVA] Coordinate GridLayout

    Ciao a tutti, vi espongo il mio problema:
    ho un vettore di 25 caratteri e voglio mettere 25 bottoni in un gridlayout.. ho quindi creato il GridLayout(5,5) e con un for l'ho riempito.. ora, è possibile ricavare le coordinate di ogni singolo bottone?
    spero di essermi spiegato bene, grazie a chi risponderà

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Intendi le coordinate x e y in pixel di ogni pulsante sul pannello?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    no, intendo le coordinate della posizione del bottone nella matrice che si viene a formare..
    voglio arrivare a creare un pop-up con scritto "il bottone rosso è nella posizione (x,y) ad esempio.."

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da erfaina89
    no, intendo le coordinate della posizione del bottone nella matrice che si viene a formare..
    voglio arrivare a creare un pop-up con scritto "il bottone rosso è nella posizione (x,y) ad esempio.."
    Ora è più chiaro. Non penso ci sia un modo diretto per ottenere questa informazioni però si piò aggirare facilmente il problema creando una opportuna sottoclasse di JButton:

    codice:
    public class MyButton extends JButton {
        private final int r; // riga in cui si trova il pulsante
        private final int c; // colonna in cui si trova il pulsante
    
        public MyButton(String text, int r, int c) {
            super(text);
            this.r = r;
            this.c = c;
        }
    
        public String getPosition() {
            return "(" + r + ", " + c +")";
        }
    }
    Quindi nel tuo for fai un modo di istanziare MyButton passando riga e colonna
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    mmm ok, ho capito il tuo ragionamento.. avevo pensato anche io ad una cosa del genere e infatti ho già esteso jbutton.. però quello che non capisco io, è come sfruttare l'indice del vettore che uso nel for per ricavare le coordinate della matrice che si va a formare...
    mi spiego: vettore[0] corrisponde a coordinate (0,0)
    vettore[1] corrisponde a coordinate (0,1)
    e così via fino ad arrivare a vettore[24] che corrisponde a (4,4)..
    questi son banali, ma quelli "in mezzo"? che algoritmo posso usare?

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    L'ho scritto di getto, non so se sia esatto. L'idea è quella di usare due variabili di appoggio e verificare con il contatore di ciclo quando termina la riga.

    codice:
    int r = 0;
    int c = 0;
    for (int i = 0; i < 25; i++) {
        if (((i + 1) % 5) == 0) { 
            r++; // passo alla riga successiva
            c = 0; // azzero le colonne
        }
    
        MyButton button = new MyButton("blabla", r, c);
    
        c++;
    }
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    grazie mille.. ora provo.. poi quando arriverò ad una soluzione definitiva posterò il codice!
    grazie ancora dell'interesse!

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.