/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Farver i JTables
Fra : The MaXx


Dato : 17-04-01 16:49

Hej gruppe.

Jeg arbejder med en "Liste" i en JTable, hvor jeg gerne vil have enten
Foreground (Skriften), eller Background (Baggrunden) til at være forskellig
farve for de forskellige række, baseret på en værdi i rækken.

Er dette muligt?
Hvis ikke hvordan laver jeg så sådan en liste?
Her er den Tabel jeg har lavet og som jeg gerne vi have til at kunne det med
farverne.

public class Tabel extends AbstractTableModel
{
private Object[][] data;
private String[] columnNames;

public Tabel (Object[][] data, String[] columnNames)
{
this.data = data;
this.columnNames = columnNames;
}


public int getColumnCount()
{
return columnNames.length;
}

public int getRowCount()
{
return data.length;
}

public String getColumnName(int col)
{
return columnNames[col];
}

public Object getValueAt(int row, int col)
{
return data[row][col];
}

public Class getColumnClass(int c)
{
return getValueAt(0, c).getClass();
}

public boolean isCellEditable(int r, int c)
{
return false;
}

}

The MaXx



 
 
Niels Bech Nielsen (17-04-2001)
Kommentar
Fra : Niels Bech Nielsen


Dato : 17-04-01 23:20

Du skal lave en TableCellRenderer til din tabel. Det er den, som har opgaven
med at tegne tabellen.

F.eks.

public class MyCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object
value,
boolean isSelected, boolean hasFocus, int row,
int column) {
Component comp = super.getTableCellRendererComponent(table, value,
isSelected,
hasFocus, row, column);
Color color = (row %2 == 0) ? Color.cyan : Color.yellow;
comp.setBackground(color);
return comp;
}
}

Sådan ca. det er taget ud af hovedet.Hvis det er andet du mener, så husk
renderen bliver kaldt for hver celle, men du kender tabellen og x og y, så
du kan altid finde frem til det du ønsker.

--
/Niels Bech Nielsen -- Logical
SCJ2P - ** Sun Certified Java 2 Programmer **

"The MaXx" <the_maxx@email.dk> wrote in message
news:9bhonj$lqa$1@news.cybercity.dk...
> Hej gruppe.
>
> Jeg arbejder med en "Liste" i en JTable, hvor jeg gerne vil have enten
> Foreground (Skriften), eller Background (Baggrunden) til at være
forskellig
> farve for de forskellige række, baseret på en værdi i rækken.
>
> Er dette muligt?
> Hvis ikke hvordan laver jeg så sådan en liste?
> Her er den Tabel jeg har lavet og som jeg gerne vi have til at kunne det
med
> farverne.
>
> public class Tabel extends AbstractTableModel
> {
> private Object[][] data;
> private String[] columnNames;
>
> public Tabel (Object[][] data, String[] columnNames)
> {
> this.data = data;
> this.columnNames = columnNames;
> }
>
>
> public int getColumnCount()
> {
> return columnNames.length;
> }
>
> public int getRowCount()
> {
> return data.length;
> }
>
> public String getColumnName(int col)
> {
> return columnNames[col];
> }
>
> public Object getValueAt(int row, int col)
> {
> return data[row][col];
> }
>
> public Class getColumnClass(int c)
> {
> return getValueAt(0, c).getClass();
> }
>
> public boolean isCellEditable(int r, int c)
> {
> return false;
> }
>
> }
>
> The MaXx
>
>



Allan Schmidt (18-04-2001)
Kommentar
Fra : Allan Schmidt


Dato : 18-04-01 10:13


> Du skal lave en TableCellRenderer til din tabel. Det er den, som har
opgaven
> med at tegne tabellen.

Mange tak... Det løste mit problem, jeg skal dog lege en del videre med det
før jeg er tilfreds, men du hjalp mit godt på sporet.

The MaXx



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste