Se creo una JTable con dei dati all'interno e la visualizzo posso facendo doppio click in un "campo" modificare quest'ultimo. Come faccio a disabilitare questo?? Grazias
Se creo una JTable con dei dati all'interno e la visualizzo posso facendo doppio click in un "campo" modificare quest'ultimo. Come faccio a disabilitare questo?? Grazias
Devi sovrascrivere e reiplementare opportunamente il metodo isCellEditable del TableModel associato alla JTable.Originariamente inviato da zannas
Se creo una JTable con dei dati all'interno e la visualizzo posso facendo doppio click in un "campo" modificare quest'ultimo. Come faccio a disabilitare questo?? Grazias
In particolare se vuoi che nessuna cella della JTable sia modificabile ti basta iserire return false; come unica istruzione
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
mi fai un banale esempio così capisco meglio per cortesia?
Originariamente inviato da zannas
mi fai un banale esempio così capisco meglio per cortesia?codice:import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; public class NonEditableTable extends JTextField { private static final long serialVersionUID = 8554350982699149972L; /** * @param args */ public static void main(String[] args) { JFrame frame = new JFrame(); frame .setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.getContentPane().setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(); String[][] data = new String[][]{{"dato1","dato2","dato3","dato4"}, {"dato1","dato2","dato3","dato4"}, {"dato1","dato2","dato3","dato4"}}; String[] columnNames = new String[]{"Col1","Col2","Col3","Col4"}; JTable table = new JTable(); scrollPane.getViewport().add(table); DefaultTableModel model = new DefaultTableModel() { /** * */ private static final long serialVersionUID = 1L; public boolean isCellEditable(int row, int column) { return false; } }; model.setDataVector(data,columnNames); table.setModel(model); frame.getContentPane().add(scrollPane); frame.pack(); frame.setVisible(true); } }
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
ufff....perchè java è così complicato...... VVoVe:
Complicato java? Hai mai programamto in c ...? VVoVe:Originariamente inviato da zannas
ufff....perchè java è così complicato...... VVoVe:
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)