import javax.swing.*;
import java.awt.*;
import javax.swing.table.JTableHeader;public class Test {
  JFrame frame;
  JScrollPane scroll;
  JTable table;
  JTableHeader tableH;  public Test() {
    frame = new JFrame("JTableTest");
    Object [][] content = {{"1", "2", "3", "4"},{"a", "b", "c", "d"}};
    String [] title = {"玩", "世", "不", "恭"};
    table = new JTable(content, title);
    //JTable的背景颜色设置
    table.setBackground(new Color(230, 230, 230));
    //JTable没有选中的文字颜色
    table.setForeground(new Color(0, 0, 0));
    //JTable边线颜色
    table.setGridColor(new Color(100, 100, 100));
    //获得表头
    tableH = table.getTableHeader();
    //设置表头的背景色
    tableH.setBackground(new Color(200, 200, 200));
    //设置表头的文字颜色
    tableH.setForeground(new Color(0, 0, 0));
    scroll = new JScrollPane(table);
    frame.getContentPane().add(scroll);
    frame.setSize(360, 80);
    frame.setVisible(true);
  }  public static void main(String[] args) {
    new Test();
  }
}

解决方案 »

  1.   

    你指什么位置的背景?table.setBackground(new Color(255, 0, 0));试试?
      

  2.   

    table.setBackground(new  Color(255,  0,  0));  
    这个是表格的背景,可还有一层是灰的呀,就是表格只有一两行,下面就会多出一部份来,这部份的颜色。
      

  3.   

    你说的好象不是JTable背景,试试下面的代码,我把JScrollPane的背景色设置成白色的。import javax.swing.*;
    import java.awt.*;
    import javax.swing.table.JTableHeader;public class Test {
      JFrame frame;
      JScrollPane scroll;
      JTable table;
      JTableHeader tableH;  public Test() {
        frame = new JFrame("JTableTest");
        Object [][] content = {{"1", "2", "3", "4"},{"a", "b", "c", "d"}};
        String [] title = {"玩", "世", "不", "恭"};
        table = new JTable(content, title);
        //JTable的背景颜色设置
        table.setBackground(new Color(230, 230, 230));
        //JTable没有选中的文字颜色
        table.setForeground(new Color(0, 0, 0));
        //JTable边线颜色
        table.setGridColor(new Color(100, 100, 100));
        //获得表头
        tableH = table.getTableHeader();
        //设置表头的背景色
        tableH.setBackground(new Color(200, 200, 200));
        //设置表头的文字颜色
        tableH.setForeground(new Color(0, 0, 0));
        scroll = new JScrollPane(table);
        //JScrollPane的背景色设置
        scroll.getViewport().setBackground(new Color(255, 255, 255));
        frame.getContentPane().add(scroll);
        frame.setSize(360, 120);
        frame.setVisible(true);
      }  public static void main(String[] args) {
        new Test();
      }
    }