Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Discussion: JButton dans JTable

  1. #1
    Candidat au titre de Membre du Club
    Développeur informatique
    Inscrit en
    août 2009
    Messages
    39
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2009
    Messages : 39
    Points : 10
    Points
    10

    Par défaut JButton dans JTable

    bonjour,
    j'ai remplie ma table Jtable d'apres la base de données et je veux ajouter des buttons pour faire les CRUD sur la ligne selectionné .
    j'ai utilise DefaultTableMode pour remplire la table comme ceci :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Object [] tete={"Number","Name","Telephone","Adress"};
            Object [][]données={};
            DefaultTableModel tabmodel =new DefaultTableModel(données, tete);
           ....... 
           List<Entreprise>lE=E.findAll();
     
     
                    for(int i=0;i<lE.size();i++)
                      {
                          System.out.println(lE.get(i).getIdEntreprise());
                          tabmodel.addRow(new Object[]        {lE.get(i).getNumEntreprise(),lE.get(i).getNomEntreprise(),lE.get(i).getTelephoneEntreprise(),lE.get(i).getAdresseEntreprise()});
     
     
     
     
                      }
                   JtableModel jtab=new JtableModel();
                   jTable2.setModel(tabmodel);
    et ça marche bien et pour l'ajout des button dans une cellule j'ai utilisé JtableModel comme ceci
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    public class JtableModel extends AbstractTableModel {
    		private static final long serialVersionUID = 1L;
    		private static final String[] COLUMN_NAMES = new String[] {"Update","delete"};
     
    @Override public Object getValueAt(final int rowIndex, final int columnIndex) {
                          Icon cup = new ImageIcon("desktopapplication1.resources/add.png");
                          String columnName=getColumnName(columnIndex);
    			if (columnName.equalsIgnoreCase("Update")) {
    				//case 0: return rowIndex;
    				//case 1: return "Text for "+rowIndex;
    				 final JButton button1 = new JButton("Update", cup);
    						button1.addActionListener(new ActionListener() {
    							public void actionPerformed(ActionEvent arg0) {
    								JOptionPane.showMessageDialog(JOptionPane.getFrameForComponent(button1), 
    										"Button clicked for row "+rowIndex);
    							}
    						});
    						return button1;}
                            else if(columnName.equalsIgnoreCase("Delete")){
    				final JButton button = new JButton("Delete");
    						button.addActionListener(new ActionListener() {
    							public void actionPerformed(ActionEvent arg0) {
    								JOptionPane.showMessageDialog(JOptionPane.getFrameForComponent(button), 
    										"Button clicked for row "+rowIndex);
    							}
    						});
    						return button;
                    }
            return null;
    			}
    		}
    et sans oublier
    Code :
    1
    2
    3
    4
    TableCellRenderer buttonRenderer = new JTableButtonRenderer();
    		jTable2.getColumn("Update").setCellRenderer(buttonRenderer);
    		jTable2.getColumn("Delete").setCellRenderer(buttonRenderer);
    		jTable2.addMouseListener(new JTableButtonMouseListener(jTable2))
    le probleme c'est que je trouve pas la solution de combiner les deux methodes ,""
    Si quelqu'un a une methode ou idée priere de l'indiqué .
    Cordialement .

  2. #2
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    octobre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : octobre 2007
    Messages : 46
    Points : 42
    Points
    42

    Par défaut pas compris !!

    Salut,
    je n'ai pas bien compris ce que tu cherches a faire globalement ?? Peux tu préciser d'avantage ce que tu entends par " combiner les deux methodes " ??

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •