
XSSFCellStyle style;
stylesetTopBorderColor(HSSFColorBLACKindex);
stylesetBottomBorderColor(HSSFColorBLACKindex);
stylesetLeftBorderColor(HSSFColorBLACKindex);
stylesetRightBorderColor(HSSFColorBLACKindex);
XSSFCell cell;
cellsetCellStyle(style);
调用类MyRenderer
TableModel tableModel = new MyTableModel();
JTable table = new JTable(tableModel);
tablesetDefaultRenderer(Integerclass,new MyRenderer());
MyRenderer类执行TableCellRenderer接口
class MyRenderer implements TableCellRenderer{
public Component getTableCellRendererComponent(JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column){
JLabel jl=new JLabel();
if((Integer)value>0){
jlsetForeground(ColorRED);
}
jlsetBackground(ColorWHITE);
jlsetOpaque(true);
jlsetText(valuetoString());
return jl;
}
}
完整的程序如下:
import javaawtBorderLayout;
import javaawtColor;
import javaawtComponent;
import javaxswingJFrame;
import javaxswingJLabel;
import javaxswingJScrollPane;
import javaxswingJTable;
import javaxswingtableAbstractTableModel;
import javaxswingtableTableCellRenderer;
import javaxswingtableTableModel;
public class RedRowCellRenderer extends JFrame {
public RedRowCellRenderer(){
TableModel tableModel = new MyTableModel();
JTable table = new JTable(tableModel);
tablesetDefaultRenderer(Integerclass,new MyRenderer());
getContentPane()add(new JScrollPane(table),BorderLayoutCENTER);
pack();
setVisible(true);
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
}
public static void main(String[] args){
new RedRowCellRenderer();
}
}
class MyTableModel extends AbstractTableModel{
private Object[][] cells={{"some",0},{"any",1},{"even",2},
{"text",0},{"and",1},{"text",2}};
private String[] columnNames={"Column 1","Column 2"};
public String getColumnName(int c){
return columnNames[c];
}
public Class<> getColumnClass(int c){
return cells[0][c]getClass();
}
public int getColumnCount(){
return cells[0]length;
}
public int getRowCount(){
return cellslength;
}
public Object getValueAt(int r,int c){
return cells[r][c];
}
public void setValueAt(Object obj,int r,int c){
cells[r][c] = obj;
}
}
class MyRenderer implements TableCellRenderer{
public Component getTableCellRendererComponent(JTable table,Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column){
JLabel jl=new JLabel();
if((Integer)value>0){
jlsetForeground(ColorRED);
}
jlsetBackground(ColorWHITE);
jlsetOpaque(true);
jlsetText(valuetoString());
return jl;
}
}
1、首先写一个类继承 DefaultTableCellRenderer
重写getTableCellRendererComponent 方法,方法里可以对你的要求进行设置,形如
if( valueequals("是")){
thissetBackground(bgColor);
thissetForeground(fgColor);
}
2、然后设置:
xxxTablesetDefaultRenderer(Objectclass, new xxxxTableRenderer());
//上升 和 56 作为两个静态对象输入
Label label = null;
jxlwriteWritableFont wfc = new jxlwriteWritableFont(WritableFontcreateFont(cellgetCellFormat()getFont()getName()), cellgetCellFormat()getFont()getPointSize(),
WritableFontNO_BOLD, false,
UnderlineStyleNO_UNDERLINE);
jxlwriteWritableCellFormat wcfFC = new jxlwriteWritableCellFormat(wfc);
wcfFCsetAlignment(jxlformatAlignmentCENTRE);//设置单元格居中
if(cellgetContents()toString()equals("56"){
label = new Label(cellgetColumn(), cellgetRow(), cellgetContents());
}else{
label = new Label(cellgetColumn(), cellgetRow(), cellgetContents(),wcfFC);
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)