Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di yuno
    Registrato dal
    Apr 2010
    Messaggi
    62

    Posizione Component in una Gui

    Ciao a tutti, ho un piccolo problema e non capisco dove sbaglio,
    praticamente ho dei Jlabel su alcuni pannelli, questi pannelli sono tutti racchiusi in uno.
    Adesso mi servirebbe trovare le coordinate di ogni label come posso fare?
    ho salvato i label in una lista ma la loro posizione x,y è sempre zero
    La spiegazione che mi sono dato io è che è una posizione relativa a ogni pannello ma non ne sono sicuro.... Mi chiedo se qualcuno sa il modo di trovare la posizione effettiva degli oggetti...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Si, è relativa al pannello in cui li inserisci.

    Al momento non ho belle soluzioni... l'unica cosa che mi viene in mente ora, senza pensarci su, è estendere JLabel e tenere 2 coordinate x,y che setterai al momento della creazione. In pratica non fai altro che usare tutti i metodi di JLabel con l'unica differenza che nella tua classe definirai un getX() e getY() per ottenere le coordinate.

  3. #3
    Utente di HTML.it L'avatar di yuno
    Registrato dal
    Apr 2010
    Messaggi
    62
    guarda lo avevo penzato pure io ma non so come prederle, queste cordinate generali che sarebbero credo quelle del mause

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Non l'ho mai usato, ma la classe SwingUtilities ha un metodo chiamato convertPoint() che ha la seguente firma:

    codice:
    public Point convertPoint(Component source, int x, int y, Component dest);
    che si prefigge di convertire le coordinate di un punto (x, y) riferite al componente source, nelle coordinate riferite al componente dest. Credo possa fare al caso tuo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Bè una soluzione potrebbe essere quella di assegnare un MouseMotionListener al pannello più esterno (quello più grande che racchiude gli altri) oppure alla frame stessa e tramite il metodo mouseMoved visualizzando le cordinate x , y del mouse sul componente vai a vedere le coordinate del componente che ti interessa rispetto al panel/frame che possiede il listener


    EDIT: Penso che la soluzione di LeleFT sia la migliore

  6. #6
    Utente di HTML.it L'avatar di yuno
    Registrato dal
    Apr 2010
    Messaggi
    62
    grande Lele, è proprio quello che mi serve!!!!!
    ho creato una lista paralella aigli oggetti di cui voglio sapere i punti perfetto

    codice:
     punti.add(SwingUtilities.convertPoint(nodo, new Point(), this));

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.