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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
import java.awt.Color;
import java.awt.Component;
import java.util.Hashtable;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
class MT extends JTable
{
String cell;
Color color=Color.orange;
String cat="";
Projet p;
public MT(Projet p)
{
setDefaultRenderer(Object.class,new MyCellRenderer());
this.p=p;
}
public void changeSelection(int r,int c,boolean toggle,boolean extend)
{
super.changeSelection(r,c,toggle,extend);
MyCellRenderer renderer = (MyCellRenderer) getDefaultRenderer(Object.class);
Object val = getValueAt(r,c);
cell=r+"-"+c;
if (!cell.equals(renderer.cell))
{
renderer.verif=true;
System.out.println("------------------------------------------");
if (renderer.iscolored(r,c))
{
System.out.println("white");
cat="";
renderer.makecolor(r,c,Color.white,"");
}
else
{
System.out.println("blue");
cat=p.cat;
renderer.makecolor(r,c,p.color,cat);
}
}
}
class MyCellRenderer extends DefaultTableCellRenderer
{
java.util.ArrayList selectedValues = new java.util.ArrayList();
Hashtable selValues=new Hashtable();
Object v = null;
String cell="";
boolean verif=true;
public Component getTableCellRendererComponent(JTable table,Object value,
boolean isSelected,boolean hasFocus,int row,int column)
{
JLabel label = (JLabel) super.getTableCellRendererComponent(table,value,isSelected,
hasFocus,row,column);
setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
if (isSelected)
{
cell=row+"-"+column;
System.out.println("row1="+row);
System.out.println("column1="+column);
setBackground((Color)selValues.get(row+"-"+column));
System.out.println("put="+row+"-"+column);
System.out.println("texte="+value);
setText(cat);
}
else
{
if (selValues.containsKey(row+"-"+column))
{
setBackground((Color)selValues.get(row+"-"+column));
setText(""+selValues.get(row+"t"+column));
}
else
setBackground(Color.white);
}
return label;
}
public boolean iscolored(int row,int col)
{
if (selValues.containsKey(row+"-"+col))
{
if (selValues.get(row+"-"+col).equals((Color)(Color.white)))
return false;
else
return true;
}
else
return false;
}
public void makecolor(int row,int col,Color c,String cat)
{
System.out.println("MAKECOLOR="+row+"-"+col);
selValues.put(row+"-"+col,c);
selValues.put(row+"t"+col,cat);
}
}
} |
Partager