Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di dany-
    Registrato dal
    Jul 2000
    Messaggi
    365

    [Java] leggere dimensioni JLabel

    Ciao, ho un problema con le JLabel in java (e in effetti anche con gli altri oggetti per la gui): quando leggo le dimensioni di una label con una cosa tipo:

    int i = text.getWidth();

    ottengo sempre i = 0... ho fatto una quantità incredibile di prove usando anche getDimension e simili ma ottengo sempre 0.. da cosa dipende? La label è dentro ad una pannello con BorderLayout.

    Spero qualcuno sappia darmi un consiglio..

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Le domande relative al linguaggio Java vanno ora inserite nell'apposito forum dedicato.
    Sposto la discussione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di dany-
    Registrato dal
    Jul 2000
    Messaggi
    365
    Ah ops scusate.. non mi ero accorto di questa sotto-sezione....

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Se la JLabel non è stata aggiunta ad un qualche componente visibile a schermo, le dimensioni saranno nulle. Esempio
    codice:
    super("FINESTRA DI PROVA");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JLabel myLabel = new JLabel("Dimensione");
        System.out.println(""+myLabel.getWidth());
        JTextField tf = new JTextField();
        this.getContentPane().setLayout(new GridLayout(2,1));
        this.getContentPane().add(myLabel);
        this.getContentPane().add(tf);
        this.setSize(150,80);
        this.setVisible(true);
        tf.setText(""+myLabel.getWidth());
    Dove la classe estende JFrame
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di dany-
    Registrato dal
    Jul 2000
    Messaggi
    365
    grazieeeeee!! io cmq capisco sempre meno le idee che hanno quelli che hanno fatto il java..

    Ok adesso però questa cosa mi ha creato un problema non da poco e vi chiedo un consiglio adesso...

    La situazione in breve è questa: ho un pannello con del campi di testo e menu drop down uno sotto l'altro (è uno step di un wizard). Dato che le label non sono tutte lunghe uguali avevo pensato di cercare quella più lunga e impostare poi di conseguenza la larghezza delle altre.. con questa svolta dove però il pannello deve essere prima visibile non posso più altrimenti ci sarebbe una variazione di larghezza appena compare a schermo........

    Mi date un consiglio?

    Allego anche un'immagine della situazione attuale..

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    usa un GridLayout più opportuno: 2 colonne e tante righe quante te ne servono. Le colonne di un GridLayout sono tutte uguali.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di dany-
    Registrato dal
    Jul 2000
    Messaggi
    365
    Eh lo so.. ed è quello che avrei fatto anche io... ma purtroppo sono stato costretto a farlo così.. anzi non ti dico che casino mostruoso che è il codice sotto.. sì certo è espandibile per il futuro ma a vista è venuto quello che è venuto..

    In pratica per come è fatto adesso ogni riga è un pannello a sé stante.. =__=

  8. #8
    Utente di HTML.it L'avatar di dany-
    Registrato dal
    Jul 2000
    Messaggi
    365
    non riesco più a modificare il msg che ho appena lasciato.. cmq volevo dire "mi hanno costretto a farlo così" e non "sono stato costretto" :-p

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Bhè, onestamente non ne capisco il motivo (il tuo committente saprà, si spera )

    Al momento non ho in mente nessuna soluzione immediata al tuo problema (se non quella scartata): sottostando alle direttive che hai tu, non credo che la soluzione porterà ad un alleggerimento del codice

    In bocca al lupo!
    Andrea
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10
    Utente di HTML.it L'avatar di dany-
    Registrato dal
    Jul 2000
    Messaggi
    365
    Il committente è il mio tutor... e per quanto riguarda l'alleggerimento del codice.. bhe.. è già al massimo della pulizia... VVoVe:

    Grazie cmq dell'aiuto! Faccio un po' di tentativi a vediamo cosa esce.. vi faccio sapere

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.