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));
}
}
//表格排序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));
}
}
相关文章推荐
- oreilly java swing : JTable 之 Table Data
- Java Swing 在 JTable 中给 JCheckbox 绑定事件的方法
- JAVA-SWING:生成透明JTable
- Java Swing JTable 表格【15:组合列表框作为表格元素】
- JAVA 如何设置JTable的渲染器以及是否可编辑属性和其上的事件监听机制
- SwingWork + 线程池 +JTable +java写入中文乱码-- 一个swing的小应用
- java swing sql->jtable表格 查询
- java swing JTable绑定值
- java从入门到精髓 - Swing表格JTable利用tableModel添加行修改行删除行
- java swing中设置界面的外观风格
- java swing根据字符串搜索定位到JTree某一个节点上或JTable某一行上
- Java从入门到精通 - Swing表格自定义JTable
- Java Swing编程的时候使用JTable出现ArrayIndexOutOfBoundsException问题
- 在Java Swing的JTable显示数据库中的记录
- java swing中Jtable+JScrollpane实现自动滚动到底部——测试真实有效
- Java Swing JTable 表格【8:表格使用选择器SelectionModel】
- JAVA-SWING:生成透明JTable的改进2
- Java Swing写的支持合并单元格的JTable
- JavaSwing_4.8: JTable(表格)
- java swing中设置界面的外观风格