Hi Leute,
mein Renderer positioniert alle 2 Zeilen ein "Icon" in die Tabellenzelle. Mein Renderer gibt nur n JLabel zurück welches ein Icon und Text/nur Text enthält.
Wenn ich den Text mittig (SwingConstants.CENTER) positioniere funktioniert alles. Sobald ich aber den Text linksbündig machen will wird mir in den Zellen die ein Bild enthalten nur "..." angezeigt. Wenn ich das Icon wegmache funktioniert alles, wenn ich den Text zentriere funktioniert auch alles.
Das komische daran ist, dass ich das Problem nur in den Zellen hab die Text enthalten. 2 andere Zellen enthalten ne Zahl, bei denen funktioniert es.
Hat jemand ne Idee? Hier ist der Code vom Renderer:
mein Renderer positioniert alle 2 Zeilen ein "Icon" in die Tabellenzelle. Mein Renderer gibt nur n JLabel zurück welches ein Icon und Text/nur Text enthält.
Wenn ich den Text mittig (SwingConstants.CENTER) positioniere funktioniert alles. Sobald ich aber den Text linksbündig machen will wird mir in den Zellen die ein Bild enthalten nur "..." angezeigt. Wenn ich das Icon wegmache funktioniert alles, wenn ich den Text zentriere funktioniert auch alles.
Das komische daran ist, dass ich das Problem nur in den Zellen hab die Text enthalten. 2 andere Zellen enthalten ne Zahl, bei denen funktioniert es.
Hat jemand ne Idee? Hier ist der Code vom Renderer:
Code:
/*
* Created on 09.02.2005
*
*/
package de.ttf.turniersystem.gui.table.renderer;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.TableCellRenderer;
import de.ttf.turniersystem.gui.table.MyTable;
/**
* @author Sebastian
*
*/
public class MyKlassenRenderer extends JLabel implements TableCellRenderer{
/**
* Comment for <code>serialVersionUID</code>
*/
private static final long serialVersionUID = 3257562893309196345L;
public static boolean last_iconed = false;
public MyKlassenRenderer(){
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
//setFont((Font)MyTable.fonts.get("font_table_klassen"));
setFont(new Font("Courier", Font.BOLD, 12));
setForeground((Color)MyTable.colors.get("color_table_klassen_font_color"));
if(isSelected || hasFocus){
//setBackground((Color)MyTable.colors.get("color_table_klassen_selected_bgcolor"));
}
else{
//setBackground((Color)MyTable.colors.get("color_table_klassen_bgcolor"));
}
if(row % 2 == 0){
setBackground(Color.white);
setIcon(null);
}
else{
setIcon(new ImageIcon(getClass().getResource("/de/ttf/turniersystem/gui/table/renderer/cell_yellow_back.jpg")));
}
if(value instanceof Integer){
setText(String.valueOf(value));
setHorizontalTextPosition(SwingConstants.CENTER);
setHorizontalAlignment(SwingConstants.CENTER);
}
else if(value instanceof String){
System.out.println(value);
setText(String.valueOf(value));
setHorizontalTextPosition(SwingConstants.LEFT);
setHorizontalAlignment(SwingConstants.LEFT);
}
else if(value instanceof Long){
setText(String.valueOf(value));
setHorizontalTextPosition(SwingConstants.CENTER);
setHorizontalAlignment(SwingConstants.CENTER);
}
return this;
}
}