相关疑难解决方法(0)

为布尔值设置Jtable/Column Renderer

现在我的BooleanJTable值显示为JCheckBoxes.这通常会很好,但我想将它们显示为替代字符串或图像.我可以让它们显示为真/假,但我想将它们显示为勾选标记(✔)如果为真,如果为假则不显示.可能是一个图像,但让我们先做一个字符串......

java swing jtable renderer

4
推荐指数
1
解决办法
7405
查看次数

特定行和列的自定义单元格渲染器

puuuuuuf,我开始喜欢摇摆:)我正在尝试编写一个cellRenderer来自定义渲染除第一行和第一列之外的所有单元格.所以我写了以下内容:

public class CustomTableCellRenderer extends DefaultTableCellRenderer {
        public Component getTableCellRendererComponent(JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
            Component cell = super.getTableCellRendererComponent(table, obj, isSelected, hasFocus, row, column);

            if(row >0&&column>0){
                cell.setBackground(Color.GREEN);
            }

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

并将渲染器设置如下:

scheduleTable.setDefaultRenderer(Object.class, new CustomTableCellRenderer()); 
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,这种方法将渲染器应用于所有单元格.所以他们都是绿色的.如果我做错了什么,你能帮帮我吗?

提前致谢!

加成

scheduleTable = new JTable() {
                    @Override
                    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
                        Component comp = super.prepareRenderer(renderer, row, column);
                        int modelRow = convertRowIndexToModel(row);
                        int modelColumn = convertColumnIndexToModel(column);
                        if (modelColumn != 0 && …
Run Code Online (Sandbox Code Playgroud)

java swing jtable renderer

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

标签 统计

java ×2

jtable ×2

renderer ×2

swing ×2