Bonjour,
je cherche à pouvoir ouvrir une sorte de champs texte que je pourrais enregistrer dans les cellules de la colonne...
existe til une solution?
Merci
Bonjour,
je cherche à pouvoir ouvrir une sorte de champs texte que je pourrais enregistrer dans les cellules de la colonne...
existe til une solution?
Merci
Je ne comprends pas : avec un JTable, il suffit de cliquer sur une cellule, et un champ texte apparaît.
Comment fais-tu ?
hi hi...
Oui mais ce que je veux c cliquer sur une cellule, ouvrir un jtextarea et enregistrer le contenu ds la cellule!!
En incluant bien sur les retours lignes... et okus si possible...
Il faut que tu créé une classe qui implémente l'interface TableCellEditor, pour faire ta méthode d'édition.
Voila, c'est un début.
çane m'aide pas du tout... personne ne sait?
Mais si ca t'aide beaucoup au contraire (sisi je t'assure), alors on prend son courage a deux mains, on se retrousse les manches et au choix :
- on lit la doc de JTextArea et de TableCellEditor, au besoin on lit les sources du JDK, et on code, et on teste...
- on fait des recherche sur ce forum et/ou Google avec les noms de ces deux classes au cas ou qqun aurait fait la meme chose.
Non mais . Et les deux solutions ne sont pas mutuellement exclusives...
ce site contient bcp de tips sur les jtables
http://quicktable.org/jtable/quicktablemain.htm
et ce site aussi
http://www.objects.com.au/java/examples.do
Bonjour,
moi j'ai essayé avec ça mais il manque quelque chose pour que le jtext area se ferme quand il perd le focus et pour que la valeur de la cellule prend le texte saisie su textarea
à suivre ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 public class TextEdit extends AbstractCellEditor implements TableCellEditor,ActionListener{ JButton button; String value; JWindow dialog; protected static final String EDIT = "edit"; JScrollPane scroll; JTextArea text; ReponseForm arg; /* (non-Javadoc) * @see javax.swing.table.TableCellEditor#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int) */ public TextEdit(JFrame args){ arg=args; button = new JButton(); button.setActionCommand(EDIT); button.addActionListener(this); button.setBorderPainted(false); dialog = new JWindow(args); dialog.setSize(300,70); dialog.setLayout(null); text=new JTextArea(); text.setEditable(true); text.setEnabled(true); scroll=new JScrollPane(); scroll.setViewportView(text); scroll.setBounds(0, 0, 300, 70); dialog.add(scroll); dialog.setEnabled(true); } public Component getTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) { // TODO Auto-generated method stub value= arg1.toString(); dialog.setLocation(MouseInfo.getPointerInfo().getLocation()); return button; } /* (non-Javadoc) * @see javax.swing.CellEditor#getCellEditorValue() */ public Object getCellEditorValue() { // TODO Auto-generated method stub return value; } /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if (EDIT.equals(e.getActionCommand())) { //The user has clicked the cell, so //bring up the dialog. button.setText(value); text.setText(value); text.addFocusListener(new FocusAdapter(){ public void FocusLost(FocusEvent e){ arg.repTable.setValueAt(text.getText(),arg.repTable.getSelectedRow(),arg.repTable.getSelectedColumn()); } }); dialog.setVisible(true); fireEditingStopped(); } else{ if(!text.isFocusOwner()){ arg.repTable.setValueAt(text.getText(),arg.repTable.getSelectedRow(),arg.repTable.getSelectedColumn()); dialog.dispose(); } } } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager