`
z_l_ming
  • 浏览: 11830 次
文章分类
社区版块
存档分类
最新评论

java ,swing, jtable ,设置单元格背景色

    博客分类:
  • java
阅读更多
package jetsennet.install.util;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;

import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

class EvenOddRenderer extends DefaultTableCellRenderer {

private static final long serialVersionUID = 1L;
private List<String[]> positioins;

public EvenOddRenderer(List<String[]> _positioins){
this.positioins = _positioins;
}

public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus,
int row, int col) {

for(int i=0; i<table.getRowCount(); i++){
if (row == i){
this.setBackground(Color.white);
}
}
for(String[] rowAndCol : this.positioins){
int _row= Integer.valueOf(rowAndCol[0]);
int _col= Integer.valueOf(rowAndCol[1]);

if( _row == row && _col == col) {
            this.setBackground(Color.yellow);
     }
}
        this.setText(value.toString());
        return this;
}
}
public class ResizeTable {

public static void main(String args[]) {

final String columnNames[] = { "#", "English", "Roman" };
final Object rowData[][] = { { "1", "one",  "I" },{ "2", "two",  "II" }, { "4", "tahree", "III" },{ "3", "three", "III" },{ "5", "thasdfree", "III" }};
final JTable table = new JTable(rowData, columnNames);
JScrollPane scrollPane = new JScrollPane(table);

   //坐标值
String [] arr0= {"1","1"};
    String [] arr1= {"1","0"};
    String [] arr2= {"0","2"};
    String [] arr3= {"2","2"};
    String [] arr4= {"3","2"};
    List<String[]> _list= new ArrayList<String[]>();
    _list.add(arr0);
    _list.add(arr1);
    _list.add(arr2);
    _list.add(arr3);
    _list.add(arr4);
    EvenOddRenderer tablecellRender = new EvenOddRenderer(_list);
    table.setDefaultRenderer(Object.class,tablecellRender);   

JFrame frame = new JFrame("Resizing Table");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(scrollPane, BorderLayout.CENTER);
frame.setBounds(400, 200, 600, 200);
frame.setVisible(true);
}
}
  • 大小: 19.5 KB
分享到:
评论

相关推荐

    JTable自动换行

    然后,在`getTableCellRendererComponent`方法中,我们根据单元格的状态(是否被选中、是否有焦点)设置背景色和前景色,并将单元格的值赋给`JTextArea`的文本。 要使用这个自定义渲染器,你需要在`JTable`的列模型...

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

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

    Jtable 中放入多个按钮

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

    java 中 Jtable的用法

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

    java Jtable 经典列设置+表格颜色.docx

    ### Java Swing JTable 经典列设置与表格颜色设置详解 #### 一、概述 本文档将详细介绍如何在Java Swing框架下使用`JTable`组件进行经典列设置以及表格颜色的自定义设置,并通过一个实际的例子展示如何实现这些...

    swing 中Jtable例子

    在这个例子中,我们将深入探讨如何使用`JTable`来实现单元格的合并、设置字体、字号、背景色和前景色。 首先,让我们了解`JTable`的基本用法。`JTable`通常与`DefaultTableModel`一起使用,`DefaultTableModel`负责...

    JTable设置行背景颜色及实现打印功能的示例代码.doc

    在这个方法中,我们可以根据当前行的索引和颜色数组来决定行的背景色。 ```java public Component prepareRenderer(TableCellRenderer renderer, int row, int column) { Component c = super.prepareRenderer...

    Java Swing中JTable渲染器与编辑器用法示例

    渲染器负责单元格的外观,例如前景色、背景色、单元格提示等,而编辑器负责单元格的内容和事件响应。 JTable的内容、外观、事件响应在很大程度上是由渲染器与编辑器控制的。具体说来,渲染器负责单元格的外观,例如...

    中级SWING-JTable属性

    这两个方法分别用于设置选中单元格的背景色和前景色。通过改变这些颜色,可以突出显示被选中的数据,从而提高用户体验。 #### 10. `setBackground()` 和 `setForeground()` 这些方法用于设置未选中单元格的背景色...

    jtable中放多个Button.rar

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

    javaJtable经典列设置+表格颜色.doc

    我们还使用 setRowSelectionAllowed 方法来设置是否允许选择行,并使用 setSelectionBackground 方法来设置选择行的背景色。 根据数据设置行颜色 在实际应用中,我们经常需要根据不同的条件来设置 JTable 的行颜色...

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

    在Java Swing中,`JTable` 是一个非常重要的组件,常用于展示表格数据。这个文档介绍了一个方法,使得`JTable`的奇数行和偶数行可以显示不同的颜色,以增强视觉效果和用户体验。以下是对这个示例代码的详细解释: ...

    酒店管理系统课程设计说明书 - java swing access

    - 主界面:自定义JTable渲染器,根据内容改变单元格背景色。动态更新房间和客户信息表,通过model更新数据,确保信息实时性。 通过这个课程设计,学生能够深入理解数据库基础理论,掌握Java语言进行管理信息系统...

    javaJtable经典列设置+表格颜色参考.pdf

    - 这个例子没有在提供的代码片段中直接展示如何根据发送的完成百分比设置行颜色,但提到了`RowColorRenderer_Running`类,这可能是一个自定义的单元格渲染器,用于根据特定条件(比如百分比)改变行的背景色。...

    JAVA的JTable常用方法[借鉴].pdf

    在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据集,通常用于创建数据表或电子表格。`JTable`是基于模型-视图-控制器(MVC)设计模式,允许用户交互地查看和编辑数据。在给定的代码段中,我们...

    JAVA的JTable常用方法[参考].pdf

    - `setSelectionBackground(Color)` 设置选中行的背景色,如 `friends.setSelectionBackground(Color.white)`。 - `setSelectionForeground(Color)` 设置选中行的前景色,如 `friends.setSelectionForeground...

    JTable颜色渲染代码

    例如,可以通过实现`getTableCellRendererComponent`方法来自定义不同条件下的单元格背景色或前景色。 - **行渲染器**:对于整个行的颜色定制,可以通过覆盖`JTable`的`prepareRenderer`方法来实现。这种方式可以...

    一个复杂的JTable(转)

    5. 表格样式:可以自定义单元格的背景色、字体、边框等,使表格更加美观易读。 在提供的链接中,博主可能详细解释了如何实现上述功能,以及可能遇到的问题和解决方法。由于没有具体的博客内容,这里只能给出一般性...

    ZebraTable_java_Table_netbeans_in_Zebra_

    在这个方法中,我们可以根据行索引设置背景色。如果行索引是偶数,背景色设为一种颜色(如白色),如果是奇数,则设为另一种颜色(如淡灰色)。 下面是一个简单的自定义渲染器示例: ```java public class ...

Global site tag (gtag.js) - Google Analytics