Java 如何设置jtable中目标单元格的背景色?
我不想为jtable中的所有单元格设置背景色,只想设置我选择的单元格。我该怎么做呢?您需要使用您需要使用您可能会发现中介绍的概念更容易实现。可能保留一组点(表示要着色的单元格)。甚至可能是一张点和颜色的地图。您可能会发现中介绍的概念更容易实现。可能保留一组点(表示要着色的单元格)。甚至可能是点和颜色的贴图。您需要创建一个自定义CellRenderer,并在自定义JTable的getCellRenderer(int col,int rol)方法中调用它Java 如何设置jtable中目标单元格的背景色?,java,swing,jtable,Java,Swing,Jtable,我不想为jtable中的所有单元格设置背景色,只想设置我选择的单元格。我该怎么做呢?您需要使用您需要使用您可能会发现中介绍的概念更容易实现。可能保留一组点(表示要着色的单元格)。甚至可能是一张点和颜色的地图。您可能会发现中介绍的概念更容易实现。可能保留一组点(表示要着色的单元格)。甚至可能是点和颜色的贴图。您需要创建一个自定义CellRenderer,并在自定义JTable的getCellRenderer(int col,int rol)方法中调用它 请参阅以获取一个好的示例。您需要创建一个自定
请参阅以获取一个好的示例。您需要创建一个自定义CellRenderer,并在自定义JTable的getCellRenderer(int-col,int-rol)方法中调用它
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);
}
});
};
});
请参阅以获取一个好的示例。是否有更简单、更快的方法来完成此操作?不幸的是,没有。渲染器是处理绘制每个单独表格单元的工具。这里有一个示例和一些讨论。没有一种更简单、更快的方法可以做到这一点吗?不幸的是,没有。渲染器是处理绘制每个单独表格单元的工具。这里有一个示例和一些讨论
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);
}
});
};
});