Setting Grid Line in JTable

In this Java programming tutorial, you will learn how to set the colored grid line in JTable component.

Setting Grid Line in JTable

In this Java programming tutorial, you will learn how to set the colored grid line in JTable component.

Setting Grid Line in JTable

Setting Grid Line in JTable

     

In the earlier section you have learnt for creating a simple JTable that contains predefined grid line with black color. But in this Java programming tutorial, you will learn how to set the colored grid line in JTable component. The grid line is a line that  separates  the cells by drawing the boundary around the cell and looks clearly.  This can be removed too from the JTable. This line helps you in  understanding the data of JTable. You can use the grid line according to the user's requirement. 

Description of program:

In this program, you will learn how to set the grid line in JTable. For setting the grid line, you will need a JTable. So, first of all this program creates a JTable including the data and columns. All the columns have their column headers and yellow background color. Now you have to add or remove the grid line in JTable. If you want to add the colored grid line in JTable, you must have to set the grid property using the setShowGrid() method by defining 'true' value. And if, you want to remove the grid line, you will have to set the grid property by defining  'false' value  in the setShowGrid() method. Thus for setting the grid color, you will have to use the setGridColor() method.

Description of code:

setShowGrid(boolean bol):
This method takes Boolean type values either true or false. If you define the 'true' value, the grid line will add in the JTable otherwise not.

setGridColor(Color col):
This method sets the color of grid line in JTable. It takes color type value, which have to be add in grid line of  JTable.

setShowVerticalLines():
This method draws the vertical line between the cells. It takes Boolean type value
either 'true' or 'false'.

Here is the code of program:

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

public class GridLine{
  JTable table;
  public static void main(String[] args) {
  new GridLine();
  }

  public GridLine(){
  JFrame frame = new JFrame("Grid Line in JTable Component!");
  JPanel panel = new JPanel();
  String data[][] {{"Vinod","Computer","3"},
   {
"Rahul","History","2"},
   {
"Manoj","Biology","4"},
   {
"Sanjay","PSD","5"}};
  String col [] {"Name","Course","Year"};
  DefaultTableModel model = new DefaultTableModel(data,col);
  table = new JTable(model);
  //Setting the grid line 
  table.setShowGrid(true);
  //Removing the grid line from the table
//  table.setShowGrid(false);
  //Show vertical grid lines
  table.setShowVerticalLines(true);
  //setting grid color
  table.setGridColor(Color.red);
  JTableHeader header = table.getTableHeader();
  header.setBackground(Color.yellow);
  JScrollPane pane = new JScrollPane(table);
  panel.add(pane);
  frame.add(panel);
  frame.setSize(500,150);
  frame.setUndecorated(true);
  frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
  }
}

Download this example.

Output of program:

 Only Vertical Grid:

Both Grids (Horizontal and vertical):