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

    [Java]: ottenere le coordinate

    Ho un JInternalFrame a cui associo un GridLayout(10,10).
    In ogni cella aggiungo un JPanel.
    Avrei bisogno di recuperare le coordinate del centro di ogni JPanel..
    mi spiego meglio...
    ogni JPanel in realtà è una classe che estende JPanel e vorrei definire due proprietà che identifichino le coordinate del punto centrale dell'oggetto.
    Sarebbe la stessa cosa recuperare il punto centrale della cella e quindi associarlo all'oggetto che inserisco dato che ne occupa tutto lo spazio.

    Volevo evitare una procedura calcoli del tipo ... lungezza totale griglia / numero celle ecc....

    Potreste darmi dei suggerimenti su come procedere?

    Ringrazio anticipatamente per qualunque consiglio.

  2. #2
    In quanto discendente da JPanel ,che è a sua volta figlia di JComponent e piu' in su di Component, la tua classe dispone dei metodi

    getLocation() : restituisce un Point che contiene le coordinate x e y dell'origine del tuo componente rispetto al suo genitore che lo contiene
    getLocationOnScreen() : restituisce un Point che contiene le coordinate x e y dell'origine del tuo componente rispetto all'origine dello schermo

    getWidth() : restituisce la larghezza del componente

    getHeight() : restituisce l'altezza del componente.

    Penso che per "origine" si intenda l'angolo superiore sinistro del componente, ma non ci giurerei. Meglio far delle prove.

    Se cio' e' vero, le coordinate in pixel del punto centrale del tuo componente rispetto all'angolo superiore sinistro dello schermo sono (xc,yc) dove

    xc = getLocationOnScreen().getX() + getWidth()/2;

    yc = getLocationOnScreen().getY() + getHeight()/2;

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.