Soyez le premier à donner votre avis sur cette source.
Vue 19 085 fois - Téléchargée 2 724 fois
// Voici par exemple le code du FileNameRenderer et FileEditor : package composants.CustomTable; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.TableCellRenderer; public class CFileNameRenderer implements TableCellRenderer { private static final long serialVersionUID = 1L; JTextField m_txtText; JPanel m_panControl; public CFileNameRenderer() { super(); JButton m_btnFileName = new JButton("..."); m_panControl = new JPanel(new BorderLayout()); m_txtText = new JTextField(); m_txtText.setEditable(false); m_txtText.setBackground(Color.WHITE); m_panControl.add(m_txtText, BorderLayout.CENTER); m_panControl.add(m_btnFileName, BorderLayout.EAST); } public Component getTableCellRendererComponent(JTable arg0, Object arg1, boolean arg2, boolean arg3, int arg4, int arg5) { m_txtText.setText((String) arg1); return m_panControl; } } package composants.CustomTable; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.AbstractCellEditor; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.SwingUtilities; import javax.swing.table.TableCellEditor; import affiche.CPictureFileFilter; public class CFileNameEditor extends AbstractCellEditor implements TableCellEditor { private static final long serialVersionUID = 1L; private JPanel m_panControl; private JTextField m_txtFileName; private int m_iCol; private int m_iRow; private JTable m_oTable; public CFileNameEditor() { JButton m_btnFileName = new JButton("..."); m_panControl = new JPanel(new BorderLayout()); m_txtFileName = new JTextField(); m_txtFileName.setEditable(false); m_txtFileName.setBackground(Color.WHITE); m_panControl.add(m_txtFileName, BorderLayout.CENTER); m_panControl.add(m_btnFileName, BorderLayout.EAST); m_btnFileName.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { new Thread(new Runnable() { public void run() { SwingUtilities.invokeLater(new Runnable() { public void run() { JFileChooser oFile = new JFileChooser(); oFile.setApproveButtonText("Ouvrir"); oFile.setMultiSelectionEnabled(false); oFile.setDialogTitle("Sélectionnez le nom du fichier d'image."); oFile.setFileFilter(new CPictureFileFilter()); int iFileName = oFile.showDialog(m_txtFileName, "Ouvrir"); if (iFileName == JFileChooser.APPROVE_OPTION) { String sFileName = oFile.getSelectedFile().getPath(); m_txtFileName.setText(sFileName); m_oTable.getModel().setValueAt(m_txtFileName, m_iRow, m_iCol); } } }); } }).start(); } }); } public Component getTableCellEditorComponent(JTable oTable, Object oFileName, boolean arg2, int arg3, int arg4) { m_txtFileName.setText((String) oFileName); m_iRow = arg3; m_iCol = arg4; m_oTable = oTable; return m_panControl; } public Object getCellEditorValue() { return m_txtFileName.getText(); } }
:D
Afin d'obtenir une aide concrete à ton prob merci de poster dans le forum et non sur une source!
je voudrais dabord te remercier pour cette initiative, en effet bcp de devloppeurs rencontre des difficultés dans ces cell render et editor, j'en suis un
en faite j'ai analyser ton projet et je ne trouve toujours pas une soluce a mon pb
j'ai deja fait un ultra grand tour dans les sites et les forums avant de venir poser mon pb ici
es il possible d'inclur un combo box dans une jtable tout en gardant le combo toujours affiché en tant que comboBox dans la table et non en tant que texte , et en utilisant autre solution que celle qui utilise un String[][] pour ajouter les objets dans le combo parcque notre combo es mis a jour au fur et a mesure et meme le choix des combo peuvent intervenir dans les cases de la JTable (ajout ou supression de ligne)
je serais tres reconnaissant a celui qui m'aidera dans ce petit soucis, et je suis pret a vous fournir mes differents codes etudiés et implémentés et qui n'ont abouti a aucun resultat
merci
Comme je l'ai dit dans la description de la source, ces CellEditor/CellRenderer ont été développés pour une PropertyTable que je mettrais sur le site dès que je l'aurais fini, donc un peu de patience est je posterai ma JTable, TableModel et tout les Filtres de fichiers utilisés.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.