修改JTable中任意单元格颜色
来源:互联网 发布:网络群体事件 政府 编辑:程序博客网 时间:2024/05/21 13:55
修改JTable中任意单元格颜色
从网上找了一个隔行变色的JTABLE例子,修改了一下。确切的说是使得某一或某些单元格颜色保持不变,
而改其他单元格的颜色。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class RoundColorTable extends JFrame {
private String[] colname = {"第1列","第2列","第3列","第4列","第5列"}; //表头信息
private String[][] data = new String[10][5]; //表内容
//界面组件----------------------//
private JScrollPane scroPanel = new JScrollPane(); //中底层滚动面板
private DefaultTableModel model; //列表默认TableModel
private JTable table;
int r=0,c=1;// 用于控制变色区域
/**
* 构造方法 SelectionDemo()
*/
public RoundColorTable() {
makeFace();
addListener();
showFace();
}
/**
* 方法: 界面构建 makeFace()
*/
private void makeFace() {
//表内容数组 data[][] 赋值------------//
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 5; j++) {
data[i][j] = "( " + (j+1) + ", " + (i+1) + " )";
}
}
table = new JTable(model = new DefaultTableModel(data,colname));
table.setEnabled(false);
//新建列表现器------------------------//
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
Component cell = super.getTableCellRendererComponent
(table, value, isSelected, hasFocus, row, column);
if(row==r&&column==c&&cell.isBackgroundSet()) //设置变色的单元格
cell.setBackground( Color.GRAY);
return cell;
}
};
//设置列表现器------------------------//
for(int i = 0; i < colname.length; i++) {
table.getColumn(colname[i]).setCellRenderer(tcr);
}
scroPanel.getViewport().setBackground(Color.white);
scroPanel.getViewport().add(table);
//总体界面布局------------------------//
getContentPane().add(scroPanel, BorderLayout.CENTER);
}
/**
* 方法: 界面显示 showFace()
*/
private void showFace() {
setSize(500,400);
Toolkit tmpTK = Toolkit.getDefaultToolkit();
Dimension dime = tmpTK.getScreenSize();
setLocation(200,300);
setVisible(true);
//show();
}
/**
* 方法: 添加事件监听 addListener()
*/
private void addListener() {
this.addWindowListener(new WindowAdapter(){ //添加窗口关闭事件
public void windowClosing(WindowEvent e){
setVisible(false);
dispose();
System.exit(0);
}
});
}
/**
* 程序入口 main()
*/
public static void main(String args[]) {
//获取设置系统风格-------------------//
try {
String laf = UIManager.getSystemLookAndFeelClassName();
UIManager.setLookAndFeel(laf);
} catch (Exception e) {}
new RoundColorTable();
}
}
- 修改JTable中任意单元格颜色
- jTable 中单元格的颜色设置
- 设置java中JTable单元格指定文字颜色
- jTable设置单个单元格颜色
- 一个牛人写的“设置jtable单元格颜色,以及jtable中实现复选框”的程序,备忘
- “设置jtable单元格颜色,以及jtable中实现复选框”的程序
- 修改Jtable字体颜色
- jtable设置某一个单元格的颜色
- JTable操作 关于单元格颜色设置
- JTable 表格设置某一单元格的颜色
- JTable操作 关于单元格颜色设置
- JTable获得修改后单元格的值
- 设置JTable某个单元格的背景颜色和前景颜色
- 批量修改单元格中单个字符的颜色(VBA)
- MFC中 修改list控件单元格的颜色
- JTable中CheckBox单元格背景色渲染
- JTable中如何让单元格文字居中
- Swing —— JTable鼠标移入更换单元格颜色
- 使用ComboBox控件对ListView控件中的数据进行编辑
- C#中的delegate(代理/委托),简介说明(zz)
- 世界主要城市时差表
- JSP连接MYSQL数据库
- why drwtson32 fails to generate the dump for 2nd C++ exception!
- 修改JTable中任意单元格颜色
- C语言中的一些排序算法
- 戴尔坚定与AMD合作 本周将推巴塞罗那四核服务器
- sql server 与 oracle 区别
- C++ operator new[]和Debug Heap
- 图像重采样调整大小
- 经典绕口令
- vba和vb的小区别
- 常用网页播放器代码