java *** 作poi的excel表格的线条怎么变为黑色

java *** 作poi的excel表格的线条怎么变为黑色,第1张

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);

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/13492837.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存