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

    getComponentCount - getComponent

    Salve a tutti.
    Qualcuno ha la dritta giusta ??

    I metodi in oggetto non dovrebbero dare notizie dei componenti di un contenitore ??
    Ho provato in una infinità di modi e risulta sempre la presenza di un solo componente di nome nullo ??

    Qua sotto uno dei tanti esempi:
    Dovrebbe rispondere per lo meno che ci sono due componenti, invece sempre un componente di nome nullo ...???

    private void JMdebugMouseClicked(java.awt.event.MouseEvent evt) {
    JLabel La1 = new JLabel("Tasto");
    La1.setBounds(10, 10, 100, 100);
    add("Nome", La1);

    JLabel La2 = new JLabel("Tasto");
    La2.setBounds(100, 100, 100, 100);
    add("Nome", La2);

    System.out.println(Integer.toString(getComponentCo unt()));

    int i;
    for (i = 0; i < getComponentCount(); i++){
    System.out.println(this.getComponent(i).getName()) ;

    }

    IL CODICE SOPRA E' UN EVENTO di un bottone dentro un Jframe

    TIA

    Jordy54

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

    Re: getComponentCount - getComponent

    Originariamente inviato da Jordy54
    I metodi in oggetto non dovrebbero dare notizie dei componenti di un contenitore ??
    Sì.

    Originariamente inviato da Jordy54
    Ho provato in una infinità di modi e risulta sempre la presenza di un solo componente di nome nullo ??

    add("Nome", La1);
    Container ha 5 add() e tu hai usato la versione:

    public Component add(String name, Component comp)

    Il primo parametro, quel 'name', non ha a che fare con la proprietà "name" (getName()) del componente. Semplicemente è un "constraint" (se usare un constraint e di che tipo dipende dal layout manager).

    E tra l'altro questa versione di add() è indicata come "obsoleta" (non è "deprecata", comunque) nella documentazione e si dovrebbe usare:

    public void add(Component comp, Object constraints)

    o eventualmente:

    Component add(Component comp)

    se non servono constraints.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    getComponentCount - getComponent

    Ciao Andrea.
    Ho usato la forma:
    public Component add(String name, Component comp)
    dopo aver usato la forma più semplice ma il problema è identico.

    Ho fatto ulteriori prove su Containers diversi da quello che contiene il 'main' ottenendo un numero > 0, però diverso da quello atteso, che però non è influenzato da successivi 'add'.

    Ho il sospetto che la documentazione ufficiale non sia sufficente per imparare. ?!?!
    Jordy54

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

    Re: getComponentCount - getComponent

    Originariamente inviato da Jordy54
    Ho fatto ulteriori prove su Containers diversi da quello che contiene il 'main'
    Che intendi per "quello che contiene il 'main'"?? Che intendi per "main"??

    Un container generalmente può essere ad esempio il content pane di un JFrame/JDialog/JWindow/JApplet/JInternalFrame o un JPanel, che sono casi tipici.

    Originariamente inviato da Jordy54
    ottenendo un numero > 0, però diverso da quello atteso, che però non è influenzato da successivi 'add'.
    La add() la invochi su cosa??? Su un JFrame??
    Se JFrame, allora sappi che add() e alcuni altri metodi in JFrame fanno un "forward" (e nota, solo da Java 5) sul suo content pane. Ma getComponentCount()/getComponent() ovviamente no!!!
    JFrame ha una struttura più complessa rispetto ad un semplice java.awt.Frame. Quindi getComponentCount()/getComponent() direttamente su un JFrame non ti "mostrano" nulla di ciò che è stato aggiunto nel content pane.

    Originariamente inviato da Jordy54
    Ho il sospetto che la documentazione ufficiale non sia sufficente per imparare. ?!?!
    Ho il sospetto che dovresti leggerla meglio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ciao Andrea.
    Ecco...., l'ultimo tuo messaggio è la dritta che mi serviva. Ora funziona tutto.

    E' vero che non ho letto a sufficienza la documentazione è impensabile trovare tutto e subito.
    Bastava che nella descrizione dei metodi ci fosse un riferimento, comunque ho trovato informazioni sul ContentPane.

    Grazie
    Jordy54

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.