Bonjour tous le monde
j'ai un problème avec ma jtable : normalement quand aucun renderer n'est appliqué sur la table , on peut selectionner les lignes (la ligne se colorie en bleu)
mais quand j'applique mon renderer qui modifie la couleur des cellules suivant la valeur de d'autres cellules, cette selection n'est plus activée .
pour d'autres renderer que j'ai trouvé sur le web et qui modifient aussi la couleur des cells ,ce problème n'est pas posé .
voici mon renderer

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
 
import java.awt.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
 
 
public class NewRenderer extends JTextArea implements TableCellRenderer {
 
 
	 public NewRenderer () {
	      setLineWrap(true);
	      setWrapStyleWord(true);
 
	      	    }
 
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
 
 
	setText((String)value);
 
	table.setColumnSelectionAllowed(true);
           table.setRowSelectionAllowed(true);
 
 
 
if ( table.getModel().getValueAt(row,1).toString()=="150")
 
	{
 
		    this.setBackground(Color.orange);
 
 
	}	
	else 
 
		if (table.getModel().getValueAt(row,1).toString()=="l12")
 
		{
 
 
		this.setBackground(Color.red);
		setFont(new Font("SansSerif", Font.BOLD, 12));
 
 
		}
		else 
			if (table.getModel().getValueAt(row,1).toString()=="l33")
 
			{
			System.out.println(row);
			this.setBackground(Color.green);
			setFont(new Font("SansSerif", Font.ITALIC, 12));
 
 
			}
 
	 //this.setForeground(Color.orange);
 
		else 
	{
	this.setFont(new Font("SansSerif", Font.PLAIN, 12));
	this.setBackground(Color.white);
	this.setForeground(Color.black);
 
	}
	return this;
 
}}