Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

remove cells border in a jtable

Tags:

I have my on custom cell renderer and want to remove the border of the cell.
How can i do it? I tried setBorder but it doesn't work.

Here is my renderer code:

public class MyTableCellRenderer extends DefaultTableCellRenderer {      private static final long serialVersionUID = -1195682136616306875L;      public Component getTableCellRendererComponent(JTable table, Object value,             boolean isSelected, boolean hasFocus, int row, int column) {         Component c = super.getTableCellRendererComponent(table, value,                 isSelected, hasFocus, row, column);         if (!isSelected) {             if (row % 2 == 0 && row != 1) {                 c.setBackground(new Color(255, 255, 150));             } else {                 c.setBackground(Color.WHITE);             }         } else {             c.setBackground(new Color(255, 230, 255));         }         c.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));         return c;     } } 
like image 788
harshit Avatar asked Jul 02 '10 15:07

harshit


1 Answers

The lines drawn between cells are not part of the cells themselves. They are drawn by the table. You can turn them off for the entire table with:

table.setShowGrid(false); 

To disable just the the horizontal or just the vertical lines:

table.setShowHorizontalLines(false); table.setShowVerticalLines(false); 

Or, you can change the color of the lines with:

table.setGridColor(color) 
like image 85
Devon_C_Miller Avatar answered Sep 28 '22 04:09

Devon_C_Miller