Integrer une combobox dans un JTable [Résolu]

Messages postés
10
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
10 mars 2008
- - Dernière réponse : hourlwalid
Messages postés
10
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
10 mars 2008
- 10 mars 2008 à 17:21
Je veus ajouter  une combobox sur la premeirer cellule de ma JTable.
Merci d'avance


TSDI
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
32
3
Merci
Salut:

Il suffit de modifier le CellEditor associé à la colonne en question.

Tu procéder ainsi:

// JTable
JTable table = ...;

// Créer un JComboBox
JComboBox namesComboBox = new JComboBox();
namesComboBox.addItem("Mohamed");
namesComboBox.addItem("François");
namesComboBox.addItem("Bruno");

// Suppons que la première colonne s'appelle Nom
TableColumn nameColumn = table.getColumn("Nom");
nameColumn.setCellEditor(new DefaultCellEditor(namesComboBox));

Cordialement ...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
32
3
Merci
Salut:

Je ne vois pas où est le problème.

On a besoin d'informations supplémentaires.

En attendant bon courage ...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Ombitious_Developper
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
82
0
Merci
Salut,

Tu peux également aller voir ma source de PropertyTable
______________________________________
DarK Sidious
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
10
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
10 mars 2008
0
Merci
merci
mais tu peus méexpliquer plus
moi j'ai utilise DefaultTableMode

//declaration de DefaultTableMode

private

String[]
nameColumn= {
"Référence",
"Quantité Entrée",
"Date Expiration",
"Prix Achat",
"Type"};

private DefaultTableModel
model;

//dzclaration de comobox avec labél (j'ai deja créer cette classe)référence

=
new LabeledComboBox(
"Référence",
obje,60);

merci d'avance
Commenter la réponse de hourlwalid
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
82
0
Merci
Salut,

Ben justement, faut pas utiliser le DefaultTableModel...
______________________________________
DarK Sidious
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
10
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
10 mars 2008
0
Merci
boujour merci pour ta reponse voila mon code
public

class frmLigneLivraison
extends JDialog
implements ActionListener,ListSelectionListener {

private LabeledTextBox
num;

private LabeledDateChooser
date;

private LabeledComboBox
frn;

private LabeledTextBox
codestock;

private JTable
tlivraison;

private ButtonPanel
bouton;

private ButtonPanel
buttons;

private LabeledComboBox
num_livraison;

private JComboBox
Cref;

private PharmacyMainForm
maifrm;

private String
lignLivraison;

private Vector
object;

private Vector
objet;

private Vector
object1;

private JComboBox
cprod;

private Vector
vec;SimpleDateFormat

sdf =
new SimpleDateFormat(
"yyyy-MM-DD" );

//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD");

//SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");

private String[]
nameColumn ={
"Référence",
"Quantité Entrée",
"Date Expiration",
"Prix Achat",
"Type"};

private DefaultTableModel
model;

private
int
lign;

public frmLigneLivraison(PharmacyMainForm maiFrm,String Livraison,String title){

super (maiFrm.getMfr(),title);

this.
maifrm= maiFrm;

this .
lignLivraison =Livraison; initComponent();

vec=
maifrm.getStockDB().extractAllLivraison_Fournisseur();

num_livraison=
new LabeledComboBox(
"Numéro Livraison",
vec,80);

object1 =
maifrm.getStockDB().extractAllProducts();

Cref =
new JComboBox(
object1);

JPanel panedate =

new JPanel(
new FlowLayout(FlowLayout.
LEFT ));panedate.add(

date);

JPanel pdatefrn =

new JPanel(
new FlowLayout(FlowLayout.
LEFT));pdatefrn.add(panedate);

pdatefrn.add(

frn);

JPanel pan =

new JPanel(
new FlowLayout(FlowLayout.
LEFT ));pan.add(

num);pan.add(

num_livraison);

model =
new DefaultTableModel(
nameColumn,
lign+1);

tlivraison =
new JTable(
model);TableColumn Référence=

tlivraison.getColumn(
"Référence");

Référence.setCellEditor(
new DefaultCellEditor(
Cref));

JScrollPane scroltlivraison =
new JScrollPane(
tlivraison);

scroltlivraison.setPreferredSize(

new Dimension(300,180));

JPanel panelivraison=

new JPanel();panelivraison.setLayout(

new BoxLayout(panelivraison,BoxLayout.
Y_AXIS ));panelivraison.add(scroltlivraison);

panelivraison.add(

bouton);

JPanel panglobal =

new JPanel();panglobal.setLayout(

new BoxLayout(panglobal,BoxLayout.
Y_AXIS));panglobal.add(pan);

Box.createRigidArea(

new Dimension(0,3));panglobal.add(pdatefrn);

panglobal.add(

codestock);panglobal.add(panelivraison);

panglobal.add(

buttons);

this.getContentPane().add(
"North",panglobal);

this.pack();

this.setLocationRelativeTo(
null);

this.setVisible(
true);}

public
void columnSize(){TableColumn column =

null ;

int[] size =
new
int[]{120,190,150};

for (int i 0; i <3; i++) {column

tlivraison.getColumnModel().getColumn(i);column.setPreferredWidth(size[i]);

}

}

public
void initComponent(){

num =
new LabeledTextBox(
"Code Ligne",20,50);

date =
new LabeledDateChooser(
"Date",50);

object =
maifrm.getStockDB().extractAllFournisseur();

frn=
new LabeledComboBox(
"Fournisseur",
object,60);

bouton =
new ButtonPanel(
new String[]{
"+",
"-"},FlowLayout.
RIGHT );

bouton.addActionListener(
this);

buttons =
new ButtonPanel(
new String[]{
"Ajouter",
"Nouveau",
"Fermer"},FlowLayout.
RIGHT);

buttons.addActionListener(
this);

codestock =
new LabeledTextBox(
"Code Stock",20,50);}

vous pouvez me dire pourqoui combo n'affiche pas
Commenter la réponse de hourlwalid
Messages postés
10
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
10 mars 2008
0
Merci
ohhhhhhhh en fin merci amis j'ai trouver la solution
Commenter la réponse de hourlwalid