/* * This file is part of the Illarion project. * * Copyright © 2015 - Illarion e.V. * * Illarion is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Illarion is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ package illarion.mapedit.gui.util; import javax.annotation.Nonnull; import javax.swing.*; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import java.awt.*; /** * @author Fredrik K */ public class OpenMapTableCellEditor extends AbstractCellEditor implements TableCellEditor, TableCellRenderer { private final JButton button; private Object value; public OpenMapTableCellEditor(JButton button) { this.button = button; } @Override public Object getCellEditorValue() { return value; } @Override public Component getTableCellEditorComponent( JTable table, Object value, boolean isSelected, int row, int column) { this.value = value; return button; } @Override public Component getTableCellRendererComponent( @Nonnull JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (isSelected) { button.setForeground(table.getSelectionForeground()); button.setBackground(table.getSelectionBackground()); } else { button.setForeground(table.getForeground()); button.setBackground(UIManager.getColor("Button.background")); } return button; } }