我想设置表格里面的某一行颜色;并且让数据库记载下来,等刷新表格的时候,就知道这行是什么颜色了;例如
我从数据库读取了数据,读某行的值进行判断,如果他的值为“red”,那这行就显示红色,“BLUE”的话 就显示蓝色;其余的还是默认的颜色;之前在百度,问问里问过了,都没什么人懂得怎么做 所以希望CSDN的JAVA高手帮忙解决下。这问题困扰了好久哦;之前看过的文章都是奇偶数行可以;
http://zhidao.baidu.com/question/250214717.html 这个是我之前在百度问的;
我从数据库读取了数据,读某行的值进行判断,如果他的值为“red”,那这行就显示红色,“BLUE”的话 就显示蓝色;其余的还是默认的颜色;之前在百度,问问里问过了,都没什么人懂得怎么做 所以希望CSDN的JAVA高手帮忙解决下。这问题困扰了好久哦;之前看过的文章都是奇偶数行可以;
http://zhidao.baidu.com/question/250214717.html 这个是我之前在百度问的;
解决方案 »
- 怎么序列化非自定义类的对象?(要保存JTextPane的内容及字体图片,所以想序列化StyledDocument对象)
- 求数据结构(java版)习题答案
- 大家知道Slider这个组件吗?这个组件能触发鼠标事件吗?
- 为什么一样的代码,我收sohu的email是乱码,收163的不是乱码?
- 一个基础问题
- 上百本英文原版JAVA书下载,注意是英文!
- 98下面的环境变量-相关-help~~~~~~~~
- 怎样在kawa中输入中文么?
- 想试试自己,回答JAVA问题
- 问:Jdeveloper怎样设置才能使写代码更方便一点啊?比如自动换行等功能!
- 求跨平台解包工具 俗称setup.exe
- 如何使用MaskFormatter这个类
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.RowSorter;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;import org.hibernate.Query;
import org.hibernate.Session;
import com.hr.bean.Department;
import com.hr.hibernate.HibernateSessionFactory;public class JTableDemo extends JTable {
private Color selectionColor = new Color(207,228,249);//行选择颜色
private int rowHeight = 30;//行高度
public JTableDemo(TableModel tableModel){
super(tableModel);
this.setGridColor(gridColor);
this.setRowHeight(rowHeight);
}
public TableCellRenderer getCellRenderer(int row, int column) {
return new MyCellRenderer();
}
class MyCellRenderer extends 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);
this.setColor(cell, table, isSelected, hasFocus, row, column);
return cell;
}
/*
* 设置颜色
*/
private void setColor(Component component,JTable table,boolean isSelected,boolean hasFocus,int row,int column){
if(isSelected){
component.setBackground(selectionColor);
setBorder(null);//去掉边
}else{
if(row%2 == 0){
component.setBackground(Color.red);
}else{
component.setBackground(Color.white);
}
/* if(table.getValueAt(row, column).toString()=="red")
{
component.setBackground(evenRowColor);
}else{
component.setBackground(oddRowColor);
}*/
}
}
}
public static void main(String[] args){
JFrame frame = new JFrame("java Swing Jtable Demo");
//初始化测试数据
String[] head = { "ID", "部门代码", "部门名称", "部门简介", "操作员" };
DefaultTableModel mm = new DefaultTableModel(head, 0);
RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(mm);
Session s = null;
try {
String hql = "from Department";
s = HibernateSessionFactory.getSession();
Query query = s.createQuery(hql);
List<Department> list = query.list();
for (Department department : list) {
String id = Integer.toString(department.getId());
String code = department.getCode();
String name = department.getName();
String introduction = department.getIntroduction();
String adduser = department.getAdduser();
String[] str_row = { id, code, name, introduction, adduser }; // 将一行的数据存在str_row
// 字符串数组里
mm.addRow(str_row);
} } catch (Exception ex) {
ex.printStackTrace();
} finally {
if (s != null) {
s.close();
}
}
JTableDemo table = new JTableDemo(mm);
frame.getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
//设置JFrame属性
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(640,480);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}这是我的代码!