Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改JTable中行的颜色_Java_Swing_Colors_Jtable_Renderer - Fatal编程技术网

Java 如何更改JTable中行的颜色

Java 如何更改JTable中行的颜色,java,swing,colors,jtable,renderer,Java,Swing,Colors,Jtable,Renderer,我有一个JTable 5x5,我想写一个过程setColorTable(JTable table,int Row,int Col),当调用过程setColorTable时,它将为表中的行和列设置背景颜色。每个人都可以帮助我 非常感谢。您必须创建一个自定义的TableCellRenderer,扩展Swing组件(如果您只想更改颜色,JLabel可能会满足您的需要),并实现TableCellRenderer接口 尝试阅读或您必须创建一个自定义的TableCellRenderer来扩展Swing组件(

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


非常感谢。

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


尝试阅读或

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


尝试阅读或

您可以通过扩展javax.swing.table.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();
    }
};

您可以通过扩展javax.swing.table.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();
    }
};
如何更改JTable中行的颜色

对于着色(
Font
,Foregroung,background,例如),整行都在那里

如何更改JTable中行的颜色


用于着色(
Font
,前景,背景,例如)整行都在那里

如果你仍然有问题,请至少尝试写一些代码并发布。看一看a)swing tag wiki中引用的教程b)老QAs引用了f.i.在问题的侧栏c)做一些研究并尝试你发现的…如果你仍然有问题,请至少尝试写一些代码并发布它问题。看一看a)swing tag wiki中引用的教程b)问题侧栏中引用f.i.的旧QA c)做一些研究,并尝试您发现的内容…基本正确,请注意:由于DefaultTableCellRenderer中存在错误,这还不够好-有关详细信息,请参阅基本正确,请注意:由于DefaultTableCellRenderer中有一个bug,这还不够好-有关详细信息,请参阅