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
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;
	}
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 "