Loading
Table CellRenders

Java Quick Notes

Refresh Your Java - Before Java Interview

We are Agile, believe in less Documentation - Only Quick notes (Java Interview Questions) of Java/J2ee Read more....


Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet
Not Included Yet

Go to SiteMap

Q)  Swing Table CellRenders ?


Ans)

You can think of the renderer as a configurable ink stamp that the table uses to
stamp appropriately formatted data onto each cell.
When the user starts to edit
a cell's data, a cell editor takes over the cell, controlling the cell's editing
behavior.

To choose the renderer that displays the cells in a column, a table first determines
whether you specified a renderer for that particular column.

Here are some data type which could be rendered as follows.

Boolean — rendered with a check box.
Number — rendered by a right-aligned label.

You have to override "DefaultTableCellRenderer.getTableCellRendererComponent()"

CellRenderer  Example :

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;

 public class YourOwnJTableCellColorRenderer extends
 DefaultTableCellRenderer
{
 
 private static final long serialVersionUID = 1L;
 private int color = 0;
private int colorPrevious = 0;
private boolean hasHeader = false;
private String tooltip = "";
public static Color TABLE_ALTERNATING_ROW_COLOR = new Color(236,236,244);
public static Color TABLE_GROUP_ROW_COLOR = new Color(236,236,244);
public static Color TABLE_SUMMARY_ROW_COLOR = Color.lightGray;

 public YourOwnJTableCellColorRenderer (boolean hasHeader){

super();

this.hasHeader = hasHeader;

}

public YourOwnJTableCellColorRenderer (){

super();

}

public Component getTableCellRendererComponent(

 JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

Component comp = super.getTableCellRendererComponent(table,value,isSelected,false,row,column);

 setForeground(Color.black);

if(row == 0 && hasHeader){

setBackground(TABLE_SUMMARY_ROW_COLOR);

}else if(row%2==0){

setBackground(TABLE_ALTERNATING_ROW_COLOR);

} else{

setBackground(Color.white);

}

if (table.isCellEditable(row, column)) {

if(table.getEditorComponent() instanceof JComboBox){

((JComboBox)table.getEditorComponent()).setBorder(new LineBorder(Color.lightGray,2));

((JComboBox)table.getEditorComponent()).getComponent(1).setFont(new Font("SansSerif", 1, 11));

}

}

Color back = getBackground();

boolean colorMatch = (back != null) && (back.equals(table.getBackground()))
 && table.isOpaque() && (color == colorPrevious);

setOpaque(!colorMatch);

colorPrevious = color;

return comp;

}

public String getTooltip() {

return tooltip;

}

public void setTooltip(String tooltip) {

this.tooltip = tooltip;

}

}



Back to top

------------------------- We hope you got necessary Info On -----------------------------------------

Table CellRenders


Table CellRenders

-------------------------------------------------------------------------------------------------------



Face Book
Request for a Mock Interview/Training

Get a PDF

Face Book
Same look (Read) on any device, this is Ads free