簡體   English   中英

如何在jtable中設置目標單元格的背景顏色?

[英]How to set the background color of target cells in a jtable?

我不想為jtable中的所有單元格設置背景顏色,只是我選擇的背景色。 我該怎么做?

您需要使用自定義渲染器

您可能會發現“ 表行渲染”中介紹的概念更易於實現。 也許保留一組點(代表要着色的單元格)。 甚至是點和顏色的地圖。

    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);
                        }
                    });
        };
    });

您需要創建一個自定義CellRenderer,並在自定義JTable的getCellRenderer(int col,int rol)方法中調用它。

有關示例,請參見http://self-reference.com/tech/swing.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM