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

Discussion: JButton dans JTable

  1. #1
    Invité régulier
    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 : 9
    Points
    9

    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
    Nouveau 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 : 37
    Points
    37

    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
  •