社区
Java SE
帖子详情
高人指点,在线等!!!
huwei117
2007-10-24 06:27:05
我有一张表,是比较两条数据的结果,要用一个表格显示其中的异同。比较的是第一列和第三列。如果相同,该行设置成成红色;如果不同,当第一列为空,第三列非空该行设置成绿色,当第一行非空,第三行为空,该行设置成蓝色。
本人写了好几个Renderer,都没有效果,请高手指点一二!谢谢。
...全文
69
7
打赏
收藏
高人指点,在线等!!!
我有一张表,是比较两条数据的结果,要用一个表格显示其中的异同。比较的是第一列和第三列。如果相同,该行设置成成红色;如果不同,当第一列为空,第三列非空该行设置成绿色,当第一行非空,第三行为空,该行设置成蓝色。 本人写了好几个Renderer,都没有效果,请高手指点一二!谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jaguarlsl
2007-10-25
打赏
举报
回复
class ColorTableRowRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable arg0, Object arg1, boolean arg2, boolean arg3, int arg4, int arg5) {
if ((arg0.getValueAt(arg4, 0)).equals(arg0.getValueAt(arg4, 2))) {
if ((arg0.getValueAt(arg4, 1)).equals(arg0.getValueAt(arg4, 3))) {
setForeground(Color.RED);
} else {
setForeground(Color.red);
}
} else if ((arg0.getValueAt(arg4, 0)).equals("") && (!(arg0.getValueAt(arg4, 2).equals("")))) {
setForeground(Color.BLUE);
} else if ((arg0.getValueAt(arg4, 2)).equals("") && (!(arg0.getValueAt(arg4, 0).equals("")))) {
setForeground(Color.ORANGE);
} else {
setForeground(Color.BLACK);
}
setText(arg1.toString());
setBackground(Color.WHITE);
return super.getTableCellRendererComponent(arg0, arg1, arg2, arg3, arg4, arg5);
}
}
huwei117
2007-10-25
打赏
举报
回复
哎,还是自己搞定了!!!!
分数怎么办?
qybao
2007-10-25
打赏
举报
回复
sql:
select field1, field3, (case when field1 is null then 'F' when field3 is null then 'T' else 'E' end) as comp from your_table
在java端根据sql的结果循环往表格填数据(只显示field1和field3就可以了),然后判断comp的结果(F为first的意思,说明第一列为空,T为Third的意思,说明第三列为空,E为相等equals的意思),根据不同的结果把表格的行的背景色设置为你要的颜色。
huwei117
2007-10-25
打赏
举报
回复
谢谢大家热心回复!
颜色的控制可以了,之前控制不了颜色的原因是使用的 JTable.setDefaultRenderer(arg0, arg1);该方法没有什么反映,第一个参数不管是String.class还是Component.class,都是没有效果,完全不象java core 2 中的描述,后来是使用的m_tColumn.setCellRenderer(m_tColorRenderer) ;
for(int i = 0 ; i < m_tListView.getColumnCount() ; i++){
TableColumn m_tColumn = m_tListView.getColumn(m_tListView
.getColumnName(i));
m_tColumn.setCellRenderer(m_tColorRenderer) ;
}
就可显示颜色了。
但是,又有了新的问题,设置字体的颜色难道就是设置前景色吗(setForeground)?
*还有更重要的是使用下面两种ColorTableRowRenderer绘制的表格不能用选!!!那位能在帮帮忙!谢谢
1. class ColorTableRowRenderer extends JLable implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable arg0, Object arg1,
boolean arg2, boolean arg3, int arg4, int arg5) {
if ((arg0.getValueAt(arg4, 0)).equals(arg0.getValueAt(arg4, 2))) {
if ((arg0.getValueAt(arg4, 1)).equals(arg0.getValueAt(arg4, 3))) {
setForeground(Color.RED);
} else {
setForeground(Color.red);
}
} else if ((arg0.getValueAt(arg4, 0)).equals("")
&& (!(arg0.getValueAt(arg4, 2).equals("")))) {
setForeground(Color.BLUE);
} else if ((arg0.getValueAt(arg4, 2)).equals("")
&& (!(arg0.getValueAt(arg4, 0).equals("")))) {
setForeground(Color.ORANGE);
}
setText(arg1.toString());
setBackground(Color.WHITE);
return this;
}
}
2. class ColorTableRowRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable arg0, Object arg1,
boolean arg2, boolean arg3, int arg4, int arg5) {
if ((arg0.getValueAt(arg4, 0)).equals(arg0.getValueAt(arg4, 2))) {
if ((arg0.getValueAt(arg4, 1)).equals(arg0.getValueAt(arg4, 3))) {
setForeground(Color.RED);
} else {
setForeground(Color.red);
}
} else if ((arg0.getValueAt(arg4, 0)).equals("")
&& (!(arg0.getValueAt(arg4, 2).equals("")))) {
setForeground(Color.BLUE);
} else if ((arg0.getValueAt(arg4, 2)).equals("")
&& (!(arg0.getValueAt(arg4, 0).equals("")))) {
setForeground(Color.ORANGE);
}
setText(arg1.toString());
setBackground(Color.WHITE);
return this;
}
}
kissaki
2007-10-24
打赏
举报
回复
既然知道用renderer,自己认真地检查一下就会出来的。代码有没有,怎么讲得清楚?
约翰羊
2007-10-24
打赏
举报
回复
听着挺复杂的.
先看看能不能用别的方法实现.
awusoft
2007-10-24
打赏
举报
回复
这个描述还是有点不理解,再好能具一个例子出来,手工画一下颜色也行.
scrach编程,欢迎下载
scrach的程序,代码不多,望
高人
指点
,多谢!
学号成绩的输入删除插入修改操作类似Dos
根据书上所看的,自已摸索着写的 望
高人
在结构优化方面
指点
一二!谢谢。初学者,对编程非常感兴趣
遗传算法优化神经网络权值-gaan.rar
遗传算法优化神经网络权值-gaan.rar 用遗传算法优化bp网络的权值时,出现如下错误:文件见附件,还麻烦
高人
指点
! *WARNING* PURELIN used in an obsolete way. Use PURELIN) instead of PURELIN. Type NNTWARN OFF to suppress NNT warning messages. *WARNING* LOGSIG used in an obsolete way. Use LOGSIG) instead of LOGSIG. Type NNTWARN OFF to suppress NNT warning messages.
产品需求自查清单-高清完整版.xlsx
最近有不少小伙伴跟我反馈这样的苦恼:写需求时候,老是有些场景考虑不全,经常被开发挑战。 害!回想当年的自己,何曾不是这样。幸得“
高人
”
指点
一二,才少走了不少弯路。 那这位“
高人
”是谁,其实就是从产品前辈身上,挖到的一些产品方法论、效率工具。 笔者昨晚跟小伙伴聊完后,深有感触。于是连夜整理:如何解决需求考虑不周全的办法。 一份【写需求自查清单表】,新鲜出炉,献给大家! 需求自查清单表使用说明书(持更) 内容简述:包含前端界面类需求、后端需求、数据需求 适用场景:写完需求初稿后 适用人群:1-3年产品经理
智能象棋游戏(含C#源码)
扩展功能: a. 首先满足网友的”口味”, 重新设计了所有旗子, 选择新的旗盘背景, 换了一个更清爽的面. (界面配色并不是件很容易的事情, 这样的棋类游戏长时间容易使眼睛疲劳, 首先要做到选择的色彩 不刺激眼睛,其实大部分色彩都比较刺激眼睛,尤其是纯三基色(红/黄/蓝), 还要使界面做得漂亮). b. 增加”回放” 功能. 当下完旗子时,可以重新回味一下, 刚杀完的一盘旗,可以寻找不足和重新感受 一下胜利的喜悦! 这个功能比较复杂! d. 又看了一下电脑走旗, 感觉确实比较难处理, 没有
高人
指点
写这个算法确实比较难, 应该比以前聪明 了一些, 但是还是比较笨, 打算有空去找个现在的电脑走旗组件替换上, 自己的电脑走旗算法慢慢研 究(当时是因为实在找不到现在的组件, 自己写了个较笨的,如果哪位朋友能够提供组件,在次深表感谢!!!). e. 扩展走旗的步数容量, 有些网友, 对战的都是高手, 产生数组越界, 这次从 200 扩展到了500, 当然 您还可以扩展到更大,因为源代码已经开放). f. 增加图像缓存功能. g. 解决 .net 从framework 1.0到framework 2.0升级出现的程式升级逻辑问题及一个小bug. h. 本来我只是想把这个程式放到Blog上, 供爱好c#的网友学习,一起交流一下, 没想到反应那么的强烈! 经常收到网友的反馈邮件, 从下载量看,不到一年仅从我的下载空间(不算网友转载下载次数)就有近 二万五千次. 所以又重新看懂已经基本忘记的代码,修复了bug,并扩展了以上功能. 有可能还会增加一些功能! 另外,在此对给我提交建议和bug的朋友表示感谢!!! (开发语言: C#语言) 来自:http://community.csdn.net/Expert/topic/5237/5237003.xml?temp=.4600031
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章