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

    [Java] JTable e JButton

    Ciao a tutti.

    Volevo chiedervi se fosse possibile fare in modo che una cella di una JTable sia un JButton.

    Mi spiego meglio, vorrei utilizzare una tabella per il riepilogo di un insieme di dati eterogeni e vorrei aggiungere, per ogni riga, un tasto "modifica" per poter accedere alla gestione dei dati visualizzati.

    E' possibile? Ho provato ad aggiungere un JButton, ma invece di mostrare il tasto, mi mostra la stringa che il JButton restituisce mediante il metodo .toString()

    Grazie a tutti.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Devi definire un CellRenderer (o altra classe simile) personalizzato e dire alla tua JTable di utilizzare quello.
    Praticamente devi dire alla JTable che il componente da visualizzare in quella determinata colonna è un JButton e non una JLabel (mi pare che di default sia una JLabel).

    Poi imposti il renderer per quella colonna utilizzando il relativo metodo setCellRenderer (o simile).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Perfetto! Sono riuscito a mostrare il pulsante, però adesso ho un altro problema: il pulsante non funziona!!!

    Non lo riesco a cliccare!!!!

    Posto il codice del Renderer che ho creato per l'occasione

    codice:
    import java.awt.Component;
    
    import javax.swing.JTable;
    import javax.swing.table.TableCellRenderer;
    
    public class JButtonTableRenderer implements TableCellRenderer {
    
    	public JButtonTableRenderer() {
    	}
    
    	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    		return(Component) value;
    	}
    }

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 © 2024 vBulletin Solutions, Inc. All rights reserved.