您的位置:首页 > 编程语言 > Java开发

java swing jtable外观属性一

2012-05-30 08:58 411 查看
public static void makeJTable(JTable table){

//表格排序jdk1.6新功能

TableRowSorter<TableModel>sorter = newTableRowSorter<TableModel>(table.getModel());

table.setRowSorter(sorter);

//设置行高

table.setRowHeight(Constants.TB_ROW_HEIGHT);

//设置表格线

table.setGridColor(SystemColor.controlHighlight);

//table.getTableHeader().set

//表头居中显示

JTableHeader tbh =table.getTableHeader();

DefaultTableCellRenderer renderer =(DefaultTableCellRenderer)tbh.getDefaultRenderer();

renderer.setHorizontalAlignment(SwingConstants.CENTER);

//设置表头字体

//Font headFont =UIManager.getFont("Menu.font");

//tbh.setFont(headFont);

//table.setFont(UIManager.getFont("Menu.font"));

try {

DefaultTableCellRenderertcr = new DefaultTableCellRenderer() {

privatestatic final long serialVersionUID = 1826425922704465800L;

publicComponent getTableCellRendererComponent(JTable table,

Objectvalue, boolean isSelected, boolean hasFocus,

introw, int column) {

//设置奇偶行颜色

if(row % 2 == 0){

setBackground(Color.white);// 设置奇数行底色

}

elseif (row % 2 == 1){

setBackground(newColor(237, 237, 237)); // 设置偶数行底色

}

//如果为数值则右对齐

Patternp = Pattern.compile("^(-?\d+)(\.\d+)?$");

Stringsv = (value != null ? value.toString() :"");

if(p.matcher(sv).matches()){

this.setHorizontalAlignment(SwingConstants.RIGHT);

//自动格式化小数位

if(sv.indexOf(".")!= -1){

value= StringTools.formatMoney(Double.parseDouble(sv));

//System.out.println(sv+ ", d:" + Double.parseDouble(sv) + ",f:" + value);

}

}else{

this.setHorizontalAlignment(SwingConstants.LEFT);

}

returnsuper.getTableCellRendererComponent(table, value, isSelected,hasFocus, row, column);

}

};

for (int i =0; i < table.getColumnCount(); i++) {

TableColumntc = table.getColumn(table.getColumnName(i));

tc.setCellRenderer(tcr);

}

} catch (Exception ex) {

ex.printStackTrace();

}

//设置table外层scrollPane的背景色

Container c =table.getParent();

if(c instanceofJViewport){

JViewport jp= (JViewport)c;

jp.setBackground(newColor(250, 250, 250));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: