io avevo detto:
quel setHorizontalAlignment(RIGHT) mi fa l'allineamento di tutte le colonne a destra, ecco io volevo solo che la colonna degli interi si allineava a destra, come si fa?
e tu adesso mi dici:
dovrebbe andare purché la tua tabella contenga elementi "testuali",
ascolta tu sei bravo signal però, io non ho capito.
evidentemente io cambio le cose che mi dici tu, ma forse devo aggiungerne delle altre..
quando ti ho parlato dell'allineamento era perchè io ho tutte le colonne con del testo dentro, tranne una che contiene interi.
ora i valori stanno allineati per default tutti a sinistra ed io se uso quel setHorizontalAlignment(RIGHT); così come lo vedi, mi allinea tutto a destra.
ora io volevo che solo la colonna degli interi mi si allineasse a destra che è la colonna che si chiama Mb(megabyte) oppure la numero 4..e tu mi hai detto di scrivere
ho dimenticato di dirti che serve definire original come JLabel e fare un cast:
JLabel original = (JLabel) super.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
allora io ho fatto:
codice:
public class MyTableRenderer extends DefaultTableCellRenderer {
private final Color ALTERNATE_COLOR = new Color(232,242,254);
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)
{
JLabel original =(JLabel) super.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
original.setHorizontalAlignment(RIGHT);
Color background =
isSelected ?
table.getSelectionBackground() :
row % 2 == 0 ?
ALTERNATE_COLOR :
table.getBackground();
original.setBackground(background);
return original;
}
}
ma il risultato non cambia...come faccio a dirgli che deve essere la mia colonna degli interi ad allinearsi a destra?
per quanto rigurda l'altro punto io non so come scriverlo signal, quello che dico a parole..
codice:
public class MyTableRenderer extends DefaultTableCellRenderer {
private final Color ALTERNATE_COLOR = new Color(232,242,254);
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)
{
JLabel original =(JLabel) super.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
original.setHorizontalAlignment(RIGHT);
Color background =
isSelected ?
table.getSelectionBackground() :
se il contenuto della prima colonna della prima riga, è uguale al
al contenuto della prima colonna della seconda riga e così via, allora ?
ALTERNATE_COLOR ://fai questo
table.getBackground();//altrimenti fai questo
original.setBackground(background);
return original;
}
}
grazie signal