有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何更改JTable中行的颜色

我有一个JTable 5x5,我想写一个过程setColorTable(JTable table,int Row,int Col),当调用过程setColorTable时,它将为表中的行和列设置背景颜色。每个人都可以帮助我

非常感谢你


共 (3) 个答案

  1. # 1 楼答案

    how to change color of rows in JTable

    对于着色(Font,Foregroung,background,e.i.)整行都在那里prepareRenderer

  2. # 2 楼答案

    您可以通过扩展javax来编写自己的类。摆动桌子DefaultTableCellRenderer,然后根据需要覆盖以下方法

    public class MyNewCellRenderer extends DefaultTableCellRenderer
    {
    @Override
        public Component getTableCellRendererComponent(
                JTable table, Object object,
                boolean isSelected, boolean hasFocus,
                int row, int column)
        {
            JLabel label = (JLabel) super.getTableCellRendererComponent(table, object, isSelected, hasFocus, row, column);
      label.setBackground(Color.WHITE);
        }
    }
    

    最后,通过匹配TableCellRenderer

    jTable1 = new javax.swing.JTable()
    {
        public TableCellRenderer getCellRenderer(int row, int column)
        {
            return new MyNewCellRenderer();
        }
    };
    
  3. # 3 楼答案

    您必须创建一个扩展Swing组件的自定义TableCellRenderer(如果您只想更改颜色,JLabel可能会满足您的需要),并实现TableCellRenderer接口

    尝试阅读thisJavaDoc