// This file is part of Penn TotalRecall <http://memory.psych.upenn.edu/TotalRecall>. // // TotalRecall is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, version 3 only. // // TotalRecall 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. // // You should have received a copy of the GNU General Public License // along with TotalRecall. If not, see <http://www.gnu.org/licenses/>. package components.annotations; import java.awt.Component; import java.text.DecimalFormat; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableCellRenderer; /** * The MVC "view" of a cell of the <code>AnnotationTable</code>. * * @author Yuvi Masory */ public class AnnotationTableCellRenderer extends DefaultTableCellRenderer { protected static final DecimalFormat noDecimalsFormat = new DecimalFormat("0"); @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { JLabel renderedLabel = (JLabel) super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); renderedLabel.setHorizontalAlignment(SwingConstants.LEADING); return renderedLabel; } @Override protected void setValue(Object value) { if(value != null) { setText((value instanceof Double) ? noDecimalsFormat.format(value) : value.toString()); } else { setText(""); } } }