相关疑难解决方法(0)

如何将控件放在JTable的JTableHeader中?

给定一个JTable类型的列Boolean.class,默认渲染器是a JCheckBox.根据用户选择很容易选择单个单元格,但也可以方便地选择所有复选框或不选中复选框.最近 提到的这些示例JCheckBox在表头中使用,但实现很尴尬且没有吸引力.如果我不需要对列进行排序,我怎样才能将一个表现良好的控件放入JTableHeader

附录:为了方便起见,我添加了我的sscce作为答案,但我很乐意接受一个解决问题的良好行为方面的答案.

java swing jtable jtableheader jtogglebutton

32
推荐指数
3
解决办法
2万
查看次数

如何正确使用自定义渲染器绘制JTable中的特定单元格?

我的GUI中有一个JTable组件,它显示psuedocode了一个算法.我想通过更改特定单元格的背景然后更改下面的单元格等来突出显示当前的执行行.

现在我的代码改变了JTable中所有单元格的背景,如下图所示:

JTable中

我用来存档这个当前状态的代码如下:

class CustomRenderer extends DefaultTableCellRenderer 
{
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    {
            JLabel d = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
            if((row == 0) && (column == 0))
                d.setBackground(new java.awt.Color(255, 72, 72));
            return d;
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后我调用jTable2.setDefaultRenderer(String.class, new CustomRenderer());我的构造函数.

我认为:

  • 在每个String类型的表格单元格上调用此方法.
  • 这只会改变位置(0,0)处单元格的颜色

如何修复我的代码,以便只有单元格(0,0)被着色?

java swing jtable

5
推荐指数
3
解决办法
3830
查看次数

特别是一个表头颜色java swing

我想更改特定表头的背景颜色.在我的应用中,我必须在当前月份设置标题颜色为红色.在此输入图像描述 我的代码在这里::

     jTable1.getTableHeader().
    setDefaultRenderer(
    new DefaultTableHeaderCellRenderer());



  @Override
  public Component getTableCellRendererComponent(JTable table, Object value,
          boolean isSelected, boolean hasFocus, int row, int column) {
    super.getTableCellRendererComponent(table, value,
            isSelected, hasFocus, row, column);
    JTableHeader tableHeader = table.getTableHeader();

    if(column==1)
    tableHeader.setBackground(Color.red);


    return this;
  }
Run Code Online (Sandbox Code Playgroud)

这使得所有标题颜色都是红色的.请给我一些建议.提前致谢.

swing

5
推荐指数
1
解决办法
1822
查看次数

标签 统计

swing ×3

java ×2

jtable ×2

jtableheader ×1

jtogglebutton ×1