Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218

    JCombobox seleziona sempre e solo il primo

    Ho un combobox nella Jtable, e gli aggiungo una lista.

    Ma qualunque elemento io selezioni, non cambia, viene sempre selezionato il primo.

    Ho settato l'editor della cella con:
    codice:
    tbl_datiUI.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new JComboBox(initPersone())));
    Non capisco perchè faccia cosi.

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

    Re: JCombobox seleziona sempre e solo il primo

    Originariamente inviato da TheBestNeo
    Non capisco perchè faccia cosi.
    Quale table model stai usando??
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    DefaultTableModel.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da TheBestNeo
    DefaultTableModel.
    Ok ma non vedo problemi. Nel senso che la struttura dati di DefaultTableModel è un Vector di Vector di Object. Quindi ammesso che tu abbia creato la struttura dati in modo corretto, quando editi una cella con il JComboBox, poi viene fatto un setValueAt sul model.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    Il problema è che non me lo fa.
    Mi da la lista, ma qualsiasi elemento io selezioni, al termine viene selezionato sempre il primo.

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da TheBestNeo
    Il problema è che non me lo fa.
    Mi da la lista, ma qualsiasi elemento io selezioni, al termine viene selezionato sempre il primo.
    Puoi postare del codice più completo?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    Ti posto la creazione della tabella, il codice completo sono 600 righe...
    codice:
    private JTable getTbl_datiUI() {
    		if (tbl_datiUI == null) {
    			
    			Object[][] dati = {};
    			Object[] columnNames = {
    				"",
    				"Proprietario", 
    				"Quota" };
    			
    			datiUIModel = new DefaultTableModel(dati, columnNames);
    			tbl_datiUI = new JTable(datiUIModel);
    			tbl_datiUI.setRowHeight(22);
    			tbl_datiUI.setRowSelectionAllowed(false);
    			tbl_datiUI.setIntercellSpacing(new Dimension(3, 1));
    			tbl_datiUI.setBackground(SystemColor.WHITE);
    			tbl_datiUI.setForeground(Color.DARK_GRAY);
    			tbl_datiUI.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    			tbl_datiUI.setShowVerticalLines(true);
    			tbl_datiUI.setVisible(false);
    			tbl_datiUI.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); 
    			
    			tbl_datiUI.getTableHeader().setReorderingAllowed(false);
    			tbl_datiUI.getColumnModel().getColumn(0).setResizable(false);
    			tbl_datiUI.getColumnModel().getColumn(1).setResizable(false);
    			tbl_datiUI.getColumnModel().getColumn(2).setResizable(false);
    			tbl_datiUI.getColumnModel().getColumn(0).setPreferredWidth(20);
    			tbl_datiUI.getColumnModel().getColumn(0).setCellRenderer(tbl_datiUI.getDefaultRenderer(Boolean.class));
    			tbl_datiUI.getColumnModel().getColumn(0).setCellEditor(tbl_datiUI.getDefaultEditor(Boolean.class));
    			tbl_datiUI.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new JComboBox(initPersone())));
    			tbl_datiUI.getColumnModel().getColumn(1).setPreferredWidth(160);
    			tbl_datiUI.getColumnModel().getColumn(2).setPreferredWidth(53);
    			tbl_datiUI.setVisible(false);
    		}
    		return tbl_datiUI;

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da TheBestNeo
    Ti posto la creazione della tabella
    Sì ok ... l'unica cosa che vedo è che ci sono 3 colonne ma non vedo alcun "dato"!!!! Dove/come li inserisci???
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    Alla pressione di un pulsante.
    codice:
    public void actionPerformed(java.awt.event.ActionEvent e) {
    					Object[] ob = {new Boolean(false), new String(), new Integer(0)};
    					datiUIModel.addRow(ob);
    				}

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    218
    Consultandomi con i miei compagni di progetto pensiamo che possa essere dovuto ai dati.
    Difatti se mettiamo un vector di stringhe funziona.
    Il problema è quindi da ricercare altrove.
    Grazie come al solito per la disponibilità.

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.