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
分享到:
相关推荐
然后,在`getTableCellRendererComponent`方法中,我们根据单元格的状态(是否被选中、是否有焦点)设置背景色和前景色,并将单元格的值赋给`JTextArea`的文本。 要使用这个自定义渲染器,你需要在`JTable`的列模型...
实现设置JTable中某些单元格的背景色
// 设置其他属性,如背景色、边框等 if (isSelected) { panel.setBackground(table.getSelectionBackground()); } else { panel.setBackground(table.getBackground()); } return panel; } } ``` 2. **...
JTable还支持自定义单元格的样式,包括网格线颜色、行高、选中时的前景色与背景色等。 - 更改网格线颜色:`table.setGridColor(Color.black);` - 设置行高:`table.setRowHeight(30);` - 设置选中项的背景色:`...
### Java Swing JTable 经典列设置与表格颜色设置详解 #### 一、概述 本文档将详细介绍如何在Java Swing框架下使用`JTable`组件进行经典列设置以及表格颜色的自定义设置,并通过一个实际的例子展示如何实现这些...
在这个例子中,我们将深入探讨如何使用`JTable`来实现单元格的合并、设置字体、字号、背景色和前景色。 首先,让我们了解`JTable`的基本用法。`JTable`通常与`DefaultTableModel`一起使用,`DefaultTableModel`负责...
在这个方法中,我们可以根据当前行的索引和颜色数组来决定行的背景色。 ```java public Component prepareRenderer(TableCellRenderer renderer, int row, int column) { Component c = super.prepareRenderer...
渲染器负责单元格的外观,例如前景色、背景色、单元格提示等,而编辑器负责单元格的内容和事件响应。 JTable的内容、外观、事件响应在很大程度上是由渲染器与编辑器控制的。具体说来,渲染器负责单元格的外观,例如...
这两个方法分别用于设置选中单元格的背景色和前景色。通过改变这些颜色,可以突出显示被选中的数据,从而提高用户体验。 #### 10. `setBackground()` 和 `setForeground()` 这些方法用于设置未选中单元格的背景色...
// 设置默认背景色和字体 super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); // 在这里根据value或者行/列索引来决定按钮的文字和行为 for (int i = 0; i ; i++) { ...
我们还使用 setRowSelectionAllowed 方法来设置是否允许选择行,并使用 setSelectionBackground 方法来设置选择行的背景色。 根据数据设置行颜色 在实际应用中,我们经常需要根据不同的条件来设置 JTable 的行颜色...
在Java Swing中,`JTable` 是一个非常重要的组件,常用于展示表格数据。这个文档介绍了一个方法,使得`JTable`的奇数行和偶数行可以显示不同的颜色,以增强视觉效果和用户体验。以下是对这个示例代码的详细解释: ...
- 主界面:自定义JTable渲染器,根据内容改变单元格背景色。动态更新房间和客户信息表,通过model更新数据,确保信息实时性。 通过这个课程设计,学生能够深入理解数据库基础理论,掌握Java语言进行管理信息系统...
- 这个例子没有在提供的代码片段中直接展示如何根据发送的完成百分比设置行颜色,但提到了`RowColorRenderer_Running`类,这可能是一个自定义的单元格渲染器,用于根据特定条件(比如百分比)改变行的背景色。...
在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据集,通常用于创建数据表或电子表格。`JTable`是基于模型-视图-控制器(MVC)设计模式,允许用户交互地查看和编辑数据。在给定的代码段中,我们...
- `setSelectionBackground(Color)` 设置选中行的背景色,如 `friends.setSelectionBackground(Color.white)`。 - `setSelectionForeground(Color)` 设置选中行的前景色,如 `friends.setSelectionForeground...
例如,可以通过实现`getTableCellRendererComponent`方法来自定义不同条件下的单元格背景色或前景色。 - **行渲染器**:对于整个行的颜色定制,可以通过覆盖`JTable`的`prepareRenderer`方法来实现。这种方式可以...
5. 表格样式:可以自定义单元格的背景色、字体、边框等,使表格更加美观易读。 在提供的链接中,博主可能详细解释了如何实现上述功能,以及可能遇到的问题和解决方法。由于没有具体的博客内容,这里只能给出一般性...
在这个方法中,我们可以根据行索引设置背景色。如果行索引是偶数,背景色设为一种颜色(如白色),如果是奇数,则设为另一种颜色(如淡灰色)。 下面是一个简单的自定义渲染器示例: ```java public class ...