Visualizzazione dei risultati da 1 a 5 su 5

Discussione: jtable non editabile

  1. #1

    jtable non editabile

    ciao amicici
    problem!
    popolo data
    popolo columnNames
    setto il modello di default alla tabella e passo data e columnNames.....

    msg_table.setModel(new javax.swing.table.DefaultTableModel(
    data,
    columnNames)
    );

    come faccio a bloccare in edit tutte le celle?

    public boolean isCellEditable(final int row, final int
    column) {
    return false;
    }

    dove lo metto?

    Grazie

    Saluti
    ....ma i computer non sono tanto macchine quanto strumenti di ampliamento della mente ed un diverso tipo di mezzo espressivo.
    -- Chi si accontenta non gode si illude --

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

    Re: jtable non editabile

    Originariamente inviato da hannibal/p
    msg_table.setModel(new javax.swing.table.DefaultTableModel(
    data,
    columnNames)
    );

    come faccio a bloccare in edit tutte le celle?
    Così usi DefaultTableModel, il cui isCellEditable() è implementato per ritornare sempre 'true'.

    Originariamente inviato da hannibal/p
    public boolean isCellEditable(final int row, final int
    column) {
    return false;
    }

    dove lo metto?
    Definisci una tua classe che estende DefaultTableModel e in cui fai l'override di isCellEditable come hai appena detto. Ovviamente devi poi settare nella tabella il "tuo" table model.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    come immaginavo....
    ma non so come fare..
    potresti darmi un aiutino?
    considera che ho fatto una cosa simile per il DefaultTableCellRenderer

    class MioCellRenderer extends DefaultTableCellRenderer

    per colorare le righe
    ma non so come fare per il DefaultTableModel

    Saluti
    ....ma i computer non sono tanto macchine quanto strumenti di ampliamento della mente ed un diverso tipo di mezzo espressivo.
    -- Chi si accontenta non gode si illude --

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da hannibal/p
    come immaginavo....
    ma non so come fare..
    potresti darmi un aiutino?
    Non hai spiegato quale costruttore di DefaultTableModel intendevi usare, se quello che riceve Object[][] o un Vector. Faccio l'esempio con quello che riceve Object[][] per i dati.

    codice:
    public class MyTableModel extends DefaultTableModel {
        public MyTableModel(Object[][] data, Object[] columnNames) {
            super(data, columnNames);
        }
    
        public boolean isCellEditable(int row, int column) {
            return false;
        }
    }
    Poi chiaramente:

    msg_table.setModel(new MyTableModel(.......));
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    perfetto!!
    ci stavo lavorando da una giornata!.

    Grazie mille

    Saluti
    ....ma i computer non sono tanto macchine quanto strumenti di ampliamento della mente ed un diverso tipo di mezzo espressivo.
    -- Chi si accontenta non gode si illude --

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.