一个TableCellRenderer的例子
2011-08-23 23:36
351 查看
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import javax.swing.table.TableCellRenderer;
class EvenOddRenderer implements TableCellRenderer {
public static final DefaultTableCellRenderer DEFAULT_RENDER = new DefaultTableCellRenderer();
public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column){
Component renderer = DEFAULT_RENDER.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
Color foreground,background;
if(isSelected){
foreground = Color.yellow;
background = Color.green;
}else{
if(row%2==0){
foreground = Color.blue;
background = Color.white;
}else{
foreground = Color.white;
background = Color.blue;
}
}
renderer.setForeground(foreground);
renderer.setBackground(background);
return renderer;
}
}
public class ResizeTable{
public static void main(String[] args){
final Object rowData[][] = {
{"1","one","Ⅰ"},
{"2","two","Ⅱ"},
{"3","three","Ⅲ"}
};
final String[] columnNames = {"#","English","Roman"};
final JTable table = new JTable(rowData,columnNames);
JScrollPane scrollPane = new JScrollPane(table);
table.setDefaultRenderer(Object.class,new EvenOddRenderer());
JFrame frame = new JFrame("Resize Table");
frame.getContentPane().add(scrollPane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,150);
frame.setVisible(true);
}
}
import javax.swing.table.*;
import java.awt.*;
import javax.swing.table.TableCellRenderer;
class EvenOddRenderer implements TableCellRenderer {
public static final DefaultTableCellRenderer DEFAULT_RENDER = new DefaultTableCellRenderer();
public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column){
Component renderer = DEFAULT_RENDER.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
Color foreground,background;
if(isSelected){
foreground = Color.yellow;
background = Color.green;
}else{
if(row%2==0){
foreground = Color.blue;
background = Color.white;
}else{
foreground = Color.white;
background = Color.blue;
}
}
renderer.setForeground(foreground);
renderer.setBackground(background);
return renderer;
}
}
public class ResizeTable{
public static void main(String[] args){
final Object rowData[][] = {
{"1","one","Ⅰ"},
{"2","two","Ⅱ"},
{"3","three","Ⅲ"}
};
final String[] columnNames = {"#","English","Roman"};
final JTable table = new JTable(rowData,columnNames);
JScrollPane scrollPane = new JScrollPane(table);
table.setDefaultRenderer(Object.class,new EvenOddRenderer());
JFrame frame = new JFrame("Resize Table");
frame.getContentPane().add(scrollPane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,150);
frame.setVisible(true);
}
}
相关文章推荐
- TableCellRenderer的一个例子
- 使用JCombox实现TableCellRenderer作为JTable的单元格例子
- TableCellRenderer用法实践(2)定制JTableHeader
- tableView 使用注意事项:一个tableView展示不同的cell时复用,以及数据更新
- TableCellRenderer & TableCellEditor(二)
- 一个关于TableViewer较完整的例子
- DefaultTableCellRenderer 自定义
- Jquery一个遍历Table表头的例子
- 分享一个jquery easyui拼接table的例子
- iOS 在一个TableView内使用不同的Cell
- 在一个tableView 中需要自定义多种样式的cell(两种或三种),通常你如何实现,说说思路即可?
- iOS中一个tableView中显示两种cell的问题
- 关于tableView的cellForRowAtIndexPath方法不走的一个解决办法
- TableCellRenderer和TableCellEditor
- TableCellRenderer & TableCellEditor(三)
- 用一个例子来理解MATLAB中的cell,理解{}和()的区别
- 通过event 找到tableview 上的某一个cell
- ios:点击tableView中的一个按钮,确定cell所在的行
- 分享一个jquery easyui拼接table的例子
- TablecellRenderer和TableCellEditor