Bonsoir à tous,
Je rencontre actuellement un problème. Je veux pouvoir créer un tableau de JEditorPane mais je ne parviens pas à inserer du texte. Lorsque je saisie du texte, la cellule ne le récupère pas et le contour passe devient rouge.
Mon ami google n'a pas voulu m'aider cette fois ci
Ni monsieur doc.oracle d'ailleurs
Sans la méthode getColumnClass, lorsque je modifie le texte il prend en compte les modifications mais duplique le texte: si le texte est "coucou" et que je tape "coucou ça va" il va garder "coucou coucou ça va "
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 public class TableauJournal extends AbstractTableModel{ private ArrayList<String> colonnes; private ArrayList<ArrayList<JEditorPane>> lignes; public TableauJournal() { colonnes = new ArrayList<String>(); lignes = new ArrayList<ArrayList<JEditorPane>>(); ArrayList<JEditorPane> list = new ArrayList<JEditorPane>(); JEditorPane pane = new JEditorPane(); pane = new JEditorPane(); pane.setContentType("text/html"); pane.setMargin(new Insets(0, 10, 0, 10)); list.add(pane); lignes.add(list); colonnes.add("Déroulement de l'essai"); } @Override public int getRowCount() { return lignes.size(); } @Override public int getColumnCount() { return colonnes.size(); } @Override public String getValueAt(int rowIndex, int columnIndex) { int taille = lignes.get(rowIndex).get(columnIndex).getDocument().getLength(); try { return lignes.get(rowIndex).get(columnIndex).getDocument().getText(0, taille); } catch (BadLocationException e) { e.printStackTrace(); return "erreur"; } } @Override public void setValueAt(Object aValue, int rowIndex, int columnIndex) { JEditorPane tempo = lignes.get(rowIndex).get(columnIndex); StringBuffer journal = new StringBuffer(tempo.getText()); journal.insert(journal.indexOf("</body>"), aValue.toString()); tempo.setText(journal.toString()); } @Override public boolean isCellEditable(int rowIndex, int columnIndex) { return true; } @Override public String getColumnName(int columnIndex) { return colonnes.get(columnIndex); } @Override public Class<?> getColumnClass(int columnIndex) { return JEditorPane.class; }
Partager