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

    JTable non editabile ma selezionabile

    Ciao a Tutti,

    Sono nuovo un newbie sia del forum che di Java, quindi se la domanda risulterà sciocca perdonatemi...

    Ho una Jtable implementata senza nessun Model, derivante dalla lettura di un database...
    Vorrei che questa JTable fosse non editabile, ma che le righe fossero selezionabili (anche graficamente intendo, che diventino blu insomma).

    E' due giorni che ci provo

    Qualcuno mi può dare una mano?
    Nerviamo nel cuore la Gnocca sempre, ma in Testa e sotto il Culo la Mia VESPA!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Devi estendere DefaultTableModel e fare l'override di isCellEditable... per esempio:

    codice:
    import javax.swing.*;
    import javax.swing.table.*;
    /**
     *
     * @author Andrea
     */
    public class NonEditableJTable extends JFrame {
        
        private class MyTableModel extends DefaultTableModel {
            public boolean isCellEditable(int row, int col) {
                return false;
            }
            
            public MyTableModel(Object[][] elem, Object[] header) {
                super(elem, header);
            }
        }
        
        private Object[][] contents;
        private Object[] header;
        private JTable table;
        /** Creates a new instance of NonEditableJTable */
        public NonEditableJTable() {
            super("JTable Model");
            this.setSize(500,300);
            this.contents = new Object[3][5];
            
            for (int i = 0; i < contents.length; i++) {
                for (int j = 0; j < contents[i].length; j++) {
                    contents[i][j] = new Integer(i*j);
                }
            }
            
            this.header = new Object[] {"uno", "due", "tre", "quattro", "cinque"};
            this.table = new JTable(new MyTableModel(contents, header));
            JScrollPane scrollpane = new JScrollPane(table);
            this.getContentPane().add(scrollpane);
            this.setVisible(true);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        
        public static void main(String[] args) {
            new NonEditableJTable();
        }
        
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Ti ringrazio...Ora ho capito...
    Nerviamo nel cuore la Gnocca sempre, ma in Testa e sotto il Culo la Mia VESPA!!!

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.