拦截器中的样式修改问题
joe_qlb
2007-03-16
我在行拦截器中使用row.setStyle("color:red;")设置当前行的颜色,在使用ecside后,然后继续使用extremeComponents的样式文件可以正确显示颜色,而使用ecside的样式后无法正确显示。
单步跟踪发现拦截器中的确已经将该行样式修改,估计是显示时,又被重新修改了样式。请问如何解决这个问题,或者有没有办法在显示时根据行的内容指定该行的颜色? |
|
fins
2007-03-16
对于拦截器我一直没有使用 也没有修改过相关的代码 所以我也没有认真的测试过
我看看再回答你吧 可能是我的代码有问题 谢谢您提供的信息 |
|
fins
2007-03-17
麻烦你把拦截器的代码发上来看一下呗
你是在 拦截器的 modifyRowAttributes 里修改的样式吗?? 如果不是请放到 modifyRowAttributes里 |
|
joe_qlb
2007-03-19
import org.ecside.bean.Row;
import org.ecside.core.TableModel; import org.extremecomponents.table.interceptor.RowInterceptor; public class LogInterceptor implements RowInterceptor { final static String LOG_LEVEL_DEBUG = "Debug"; final static String LOG_LEVEL_INFO = "Info"; final static String LOG_LEVEL_WARN = "Warning"; final static String LOG_LEVEL_ERROR = "Error"; final static String LOG_LEVEL_FATAL = "Fatal"; public void addRowAttributes(TableModel model, Row row) { } public void modifyRowAttributes(TableModel model, Row row) { Log log = (Log) model.getCurrentRowBean(); if (log.getLevel().equalsIgnoreCase(LOG_LEVEL_INFO)) { row.setStyle(""); } else if (log.getLevel().equalsIgnoreCase(LOG_LEVEL_DEBUG)) { row.setStyle("color:blue;"); } else if (log.getLevel().equalsIgnoreCase(LOG_LEVEL_WARN)) { row.setStyle("color:orange;"); } else if (log.getLevel().equalsIgnoreCase(LOG_LEVEL_ERROR)) { row.setStyle("color:red;"); } else if (log.getLevel().equalsIgnoreCase(LOG_LEVEL_FATAL)) { row.setStyle("color:purple;"); } else { row.setStyle("color:yello"); } } } |
|
fins
2007-03-19
哦 我知道了
这里你需要使用 styleClass 你要把 那些颜色信息提炼成 样式的class 然后再使用. |
相关讨论
相关资源推荐
- AjaxSwing 3.02(JAVA Swing转AJax)
- AjaxSwing -- Java Swing应用的Web部署发布平台
- swing模拟ajax,AjaxSwing 3.0发布 可将Java Swing转化为Ajax
- Java课程设计-基于Swing的学生信息管理系统
- 基于java+swing+mysq学生信息管理系统V2.0
- AjaxSwing 3.0 发布,为 Swing 而生的 ajax
- awesome-swing:Java Swing GUI工具箱的框架,库和软件的列表
- Java课程设计-基于Java Swing的学生信息管理系统-版本二
- apache-jmeter-4-2.0.zip
- 基于Swing的Java学生成绩管理系统