Добавить цвет фона текста в столбец JTable - PullRequest
0 голосов
/ 23 декабря 2010

Мотивация заключается в том, что я хочу видеть конечные пробелы в ячейках таблицы. Например, если ячейка содержит «Foo Bar», я бы хотел видеть символ пробела после «Bar». Есть ли способ изменить цвет фона текста, чтобы я мог легко видеть все символы в ячейке JTable? Я собираюсь сделать это для целого столбца.

Ответы [ 2 ]

0 голосов
/ 18 сентября 2011
    final JTable table = new JTable(tableModel);
    table.setPreferredScrollableViewportSize(TABLE_SIZE);
    table.setFillsViewportHeight(true);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

    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);
                        }
                    });
        };
    });
0 голосов
/ 23 декабря 2010

попробуйте изменить компонент в ячейке defaulttablecellrenderer для столбца i. Я думаю, что arg4 и arg5 - это строки и столбцы таблицы, поэтому вы также можете управлять средством визуализации для ячеек.

    JTable table = new JTable();
    table.getColumn(i).setCellRenderer(new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable arg0, Object arg1,
                boolean arg2, boolean arg3, int arg4, int arg5) {
            Component component = super.getTableCellRendererComponent(arg0, arg1, arg2, arg3, arg4, arg5);
            // modify this component here
            // component.setForeground(Color.black.black);
            // component.setBackground(Color.black.black);
            return component;
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...