PageRenderTime 25ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 1ms

/src/mpv5/utils/renderer/LazyCellRenderer.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
Java | 54 lines | 35 code | 7 blank | 12 comment | 1 complexity | febfc4c988fa7b7a79abc5693e0fb702 MD5 | raw file
Possible License(s): LGPL-3.0, Apache-2.0, GPL-3.0, GPL-2.0, AGPL-3.0, JSON, BSD-3-Clause
  1. /*
  2. * To change this template, choose Tools | Templates
  3. * and open the template in the editor.
  4. */
  5. package mpv5.utils.renderer;
  6. import java.awt.Color;
  7. import java.awt.Component;
  8. import javax.swing.JFormattedTextField;
  9. import javax.swing.JTable;
  10. import javax.swing.table.DefaultTableCellRenderer;
  11. import javax.swing.table.TableColumn;
  12. /**
  13. *
  14. * @author anti
  15. */
  16. public class LazyCellRenderer extends DefaultTableCellRenderer {
  17. protected JTable table;
  18. private final DefaultTableCellRenderer adaptee = new DefaultTableCellRenderer();
  19. public LazyCellRenderer(JTable table) {
  20. super();
  21. this.table = table;
  22. }
  23. @Override
  24. public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
  25. boolean hasFocus, int row, int column) {
  26. adaptee.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
  27. setForeground(adaptee.getForeground());
  28. setBackground(adaptee.getBackground());
  29. setBorder(adaptee.getBorder());
  30. setFont(adaptee.getFont());
  31. setText(adaptee.getText());
  32. if (hasFocus) {
  33. setBackground(Color.BLUE);
  34. setForeground(Color.WHITE);
  35. }
  36. return this;
  37. }
  38. /**
  39. * Set this renderer to the given column + editor
  40. * @param column
  41. */
  42. public void setRendererTo(int column) {
  43. TableColumn col = table.getColumnModel().getColumn(table.getColumnModel().getColumnIndex(table.getModel().getColumnName(column)));
  44. col.setCellEditor(new TableCellEditorForDezimal(new JFormattedTextField()));
  45. col.setCellRenderer(this);
  46. }
  47. }