Je recherche le moyen de fixer dans mon JTable de pixel la colonne en jaune pour avec le JScrollPane que je peux déplacer.
J'ai mis en pièce jointe ma capture de mon tableau que j'ai.
Voici le code que je fais:
Merci d'avance de vos aides,
J'ai mis en pièce jointe ma capture de mon tableau que j'ai.
Voici le code que je fais:
Code:
public Table6(int value[][]){
JFrame frame = new JFrame("Table Pixel");
JPanel panel = new JPanel();
int h = value.length;
int w = value[0].length;
String[] col = new String[h+1];
String col1[] = new String[1];
col1[0] =String.valueOf("");
String[] rows = new String[w];
String[] rows2 = new String[w];
for (int i = 0; i<h; i++){
col[0] =String.valueOf("");
col[i+1] = String.valueOf(i);//columns
}
for (int i =0; i<w;i++) {
rows[i] = String.valueOf(i);//Rows
}
for (int i =0; i<w;i++) {
rows2[i] = String.valueOf(i);//Rows
}
//Transformation matrice
String[][] value2 = new String[w][6];
int i =0;
while(i<w){
value2[i][5]= rows[i];
i++;
}
//Translate value
String[][] value3 = new String[w+1][h+1];
for (int x =0; x<h; x++){
for (int y=0; y<w;y++){
value3[x][y+1]= String.valueOf(value[x][y]);
value3[x][0] = rows[x];
}
}
String[][] value4 = new String[w+1][1];
for (int x =0; x<w; x++){
value4[x][0] = rows2[x];
}
DefaultTableModel dtm = new DefaultTableModel(value3,col);
JTable table=new JTable(dtm)
{
public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
{
Component component = super.prepareRenderer(renderer,row,column);
if(column == 0)
{
component.setBackground(Color.yellow);
}
if(column !=0)
{
component.setBackground(Color.white);
}
return component;
}
};
// DefaultTableModel dtm2 = new DefaultTableModel(, col1);
DefaultTableModel dtm2 = new DefaultTableModel(value4,col1);
JTable table2 = new JTable(dtm2){
public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
{
Component component = super.prepareRenderer(renderer,row,column);
if(column == 0)
{
component.setBackground(Color.yellow);
}
if(column !=0)
{
component.setBackground(Color.white);
}
return component;
}
};
JTableHeader header2 = table2.getTableHeader();
header2.setBackground(Color.yellow);
table2.getColumn("").setPreferredWidth(50);
table2.getTableHeader().setReorderingAllowed(false);//lock colonne
table2.getTableHeader().setResizingAllowed(false);
table.getTableHeader().setReorderingAllowed(false);//lock colonne
table.getTableHeader().setResizingAllowed(false);
JTableHeader header = table.getTableHeader();
header.setBackground(Color.yellow);
JScrollPane pane = new JScrollPane();
pane.setViewportView(table);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
panel.add(pane);
frame.add(panel);
frame.setSize(500,500);
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
Aucun commentaire:
Enregistrer un commentaire