我不想为jtable中的所有单元格设置背景颜色,只是我选择的单元格。我该怎么做呢?
答案 0 :(得分:3)
您需要使用custom renderer
答案 1 :(得分:2)
您可能会发现Table Row Renderering中提供的概念更容易实现。也许保留一组点(代表你想要着色的单元格)。或者甚至可能是点和颜色的地图。
答案 2 :(得分:1)
final JTable table = new JTable(tableModel);
table.getTableHeader().addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent mouseEvent) {
int selectedHeader = table.convertColumnIndexToModel(table
.columnAtPoint(mouseEvent.getPoint()));
table.getColumn(table.getColumnName(selectedHeader))
.setCellRenderer(new DefaultTableCellRenderer() {
public void setBackground(Color c) {
super.setBackground(Color.blue);
}
});
};
});
答案 3 :(得分:0)
您需要创建自定义CellRenderer并在自定义JTable的getCellRenderer(int col,int rol)方法中调用它。
请参阅http://self-reference.com/tech/swing.html以获得一个好例子。