`
悠悠我心2010
  • 浏览: 17238 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

JTable 上放ImageIcon 选中某行 背景色无变化的解决方法

 
阅读更多
    class ImageRenderer extends DefaultTableCellRenderer {
       


        public Component getTableCellRendererComponent(JTable table,
                                                       Object value,
                                                       boolean isSelected,
                                                       boolean hasFocus,
                                                       int row, int column) {
          JLabel lbl = new JLabel("");

          ImageIcon icon = new ImageIcon(".\\image\\dot_01.gif");

            String strValue = table.getValueAt(row, column).toString();
            if ("1".equalsIgnoreCase(strValue))
                lbl.setIcon(icon);
            lbl.setOpaque(true); //关键设置JLabel的背景透明
            lbl.setHorizontalAlignment(JLabel.CENTER);

            if(isSelected)
            {
                  lbl.setBackground(transmitterTable.getSelectionBackground());
                
                }
            else
            {
                lbl.setBackground(Color.white);
                }

            return lbl;
        }
    }
分享到:
评论

相关推荐

    jtable选中需要修改的行

    当我们需要在JTable中实现用户交互,比如选中某一行并进行编辑时,通常会涉及到几个关键概念和技术。以下是对这些知识点的详细解释: 1. **JTable的创建与基本用法**:JTable是javax.swing.JTable类的实例,它基于...

    JTable实现行间拖拽的最简单方法

    `mousePressed`方法记录按下时的选中行,`mouseDragged`方法在鼠标移动时处理行交换,`mouseReleased`方法在松开鼠标时清理状态。 请注意,这个例子假设你的`TableModel`是`DefaultTableModel`,因为它允许直接插入...

    Jtable 中放入多个按钮

    // 设置其他属性,如背景色、边框等 if (isSelected) { panel.setBackground(table.getSelectionBackground()); } else { panel.setBackground(table.getBackground()); } return panel; } } ``` 2. **...

    JTable 拖动行 移动行

    JTable 拖动行 移动行的ui,直接 table.setUI(new DragDropRowTableUI()); 调用

    TableCellRenderer的用法(JTable单元格背景颜色设置)

    实现设置JTable中某些单元格的背景色

    复杂JTable(复杂表头、跨行列表体)

    跨行列表体通常涉及到单元格合并,这在`JTable`中可以通过重写`AbstractTableModel`类的`getColumnCount()`、`getRowCount()`、`getValueAt()`等方法来实现。当某些行需要合并时,`getColumnCount()`返回的列数应该...

    JTable 操作单元格 行 列

    然后使用`getSelectedRows()`方法获取当前选中的行索引。 4. **隐藏/显示行**:尽管`JTable`没有直接的隐藏行方法,但可以通过修改`TableModel`的数据或使用`JScrollPane`的`setRowHeaderView()`来实现类似效果。 ...

    Java Swing实现JTable检测单元格数据变更事件的方法示例

    Java Swing 实现 JTable 检测单元格数据变更事件的方法示例 Java Swing 中的 JTable 是一个功能强大且灵活的表格组件,广泛应用于各种桌面应用程序中。然而,在实际开发中,我们经常需要检测单元格数据的变更事件...

    JAVA_JTable_奇数行和偶数行设定显示不同颜色.doc

    `setColor` 方法是关键,它根据行号判断是奇数行还是偶数行,然后分别设置背景色。如果单元格被选中,背景色设为 `selectionColor`;否则,如果行号除以2的余数为0(即偶数行),背景色设为 `evenRowColor`;否则,...

    JTable 拖动行 移动行JTable 拖动行 移动行的ui

    - 当用户拖动行时,为了提供良好的用户体验,需要显示一些视觉反馈,例如高亮选中的行或创建一个虚拟的行影子跟随鼠标移动。 4. **实际行交换**: - 在`importData()`方法中,根据拖放结束的位置,你需要调整`...

    JTable动态刷新数据

    JTable 动态刷新数据需要使用 DefaultTableModel 来存储和管理数据,然后使用getDataVector() 和 clear() 方法来刷新数据,最后使用 validate() 和 repaint() 方法来验证和重绘组件。同时,需要注意避免 ...

    jtable中放多个Button.rar

    // 设置默认背景色和字体 super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); // 在这里根据value或者行/列索引来决定按钮的文字和行为 for (int i = 0; i ; i++) { ...

    java 中 Jtable的用法

    JTable还支持自定义单元格的样式,包括网格线颜色、行高、选中时的前景色与背景色等。 - 更改网格线颜色:`table.setGridColor(Color.black);` - 设置行高:`table.setRowHeight(30);` - 设置选中项的背景色:`...

    JTable表头排序的两种方法

    3. **设置RowSorter到JTable**:将`RowSorter`设置到`JTable`上,`JTable`会自动处理排序逻辑。 ```java JTable table = new JTable(new DefaultTableModel()); table.setAutoCreateRowSorter(true); ...

    Jtable中加入复选框的两种方法

    JTable中加入复选框的两种方法 在Java中,JTable是一个常用的表格控件,用于显示和编辑表格数据。然而,在JTable中加入复选框是一个常见的需求,但是却不是那么容易实现。本文将介绍JTable中加入复选框的两种方法,...

    JAVA中JTable的使用方法

    `JTable`支持多种事件监听,如`TableModelListener`用于监听数据变化,`MouseListener`和`MouseMotionListener`用于处理鼠标操作,`ListSelectionListener`用于监听行选择。 6. **定制外观** 可以通过`setRow...

    JTable多种实用示例

    Excel导入JTable JTable导出Excel JTable删除行 JTable显示实体数据 JTable的Vector添加实体,支持直接增加实体至JTable中,删除行时允许多种可能性(单选 连续多选 任意多选)。

    jTree和jTable 双向联动

    实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。

    JTable使用 JTable使用

    JTable使用 JTable使用JTable使用JTable使用

    Jtable与Excel间复制黏贴

    1. 在`JTable`的`KeyListener`中,检测到Ctrl+C键组合时,获取选中的行和列。 2. 使用`getValueAt()`方法从`TableModel`中获取选定单元格的数据。 3. 将数据放入`StringBuffer`或`ArrayList`,形成一个二维数组,...

Global site tag (gtag.js) - Google Analytics