Topic: 问怎么让JTable的表格颜色闪烁? 急啊~

  Print this page

1.问怎么让JTable的表格颜色闪烁? 急啊~ Copy to clipboard
Posted by: zhansy
Posted on: 2005-04-16 10:37

我是用了一个线程,在线程的RUN方法里面

while (true){
try {
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
if (row, column是我要闪烁的表格坐标){
if (flag){
setBackground(Color.WHITE);
flag = false;
}else{
setBackground(Color.RED);
flag = true;
}

return super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
}
}
TableColumnModel model = table.getColumnModel();
for (int i = 0; i < model.getColumnCount(); i++) {
model.getColumn(i).setCellRenderer(tcr);
}

Thread.sleep(2000);
}catch (Exception ex) {
ex.printStackTrace();
}


运行的结果是颜色全乱了,请问应该怎么做呢? 我是哪里错了呢?

2.Re:问怎么让JTable的表格颜色闪烁? 急啊~ [Re: zhansy] Copy to clipboard
Posted by: kavinwang
Posted on: 2005-04-16 17:47

有一个问题,TableCellRenderer在jtable初始化之后设置一次就够了,没有必要在线程中每次都设置。在你的TableCellRenderer中逻辑好怎样显示就行了。
实际上,当table中的数据改变时,table会自动调用每个cell的render的getTableCellRendererComponent来对cell进行绘制。在getTableCellRendererComponent中设置好具体的显示就可以了。

3.Re:问怎么让JTable的表格颜色闪烁? 急啊~ [Re: zhansy] Copy to clipboard
Posted by: zhansy
Posted on: 2005-04-17 10:22

谢谢,我明白了。 我爱你~~


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923