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

    [JAVA] Richiamare un componente in base al "name"!!

    Se creo con un ciclo una serie di JTable...
    codice:
    for (int x=0; x<9; x++) {
         JTable tabella = new Tables(); // Tables è la mia classe extends JTable
         tabella.setName("tabella"+x);
    }
    Queste tabelle vengono posizionate in un JTabbed e sono tutte NON editabili;
    con un numero uguale di JButton, cioè nove, button1, button2 ... button9 seleziono il JTabbed
    corrispondente e quindi visualizzo la relativa tabella, che ha sempre lo stesso nome di istanza
    cioè tabella ma un setName diverso. Con un altro JButton, editButton,
    vorrei rendere editabile la tabella nel tabbeb selezionato, ma alla pressione di tale tasto mi rende
    editabile sempre e solo l'ultima tabella
    creata dal ciclo:
    codice:
    tabella.setEditable(true);
    Dovrei rimediare a questo inconveniente richiamando la tabella che mi interessa attraverso il "name"
    .... tabella.getName(); ...
    conoscendo il numero del pulsante premuto per visualizzare il tabbed ricavo facilmente il "name" della
    tabella che mi interessa, ma come faccio tramite il "name" a renderla editabile!? Ovviamente un codice
    simile è sbagliato:
    codice:
    tabella1.setEditable(true);
    Grazie a Tutti per l'attenzione.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Supponendo che tu abbia le varie tabelle in un array puoi fare , dopo aver ottenuto il "name" della tabella che intendi rendere editabile:

    codice:
    String nome = //qui ho il suo il nome della tabella che mi interessa;
    for (int i=0;i<arrayTabelle.length;i++) {
         if (arrayTabelle [i].getName ().equals (nome))
            arrayTabelle [i].setEditable (true);
    }

  3. #3
    Grazie del suggerimento.... ho risolto proprio così,
    inserendo man mano che vengono richiamate le tabelle
    in un array del tipo JTable[] arrayTabelle = new JTable[9];

    e facendo il confronto arrayTabelle[x].getName().equals.....
    quindi setto l'editabilità arrayTabelle[x].setEnabled(true);

    Grazie mille

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.