PageRenderTime 4ms CodeModel.GetById 1ms RepoModel.GetById 0ms app.codeStats 0ms

/src/mpv5/utils/renderer/ButtonEditor.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
Java | 66 lines | 53 code | 9 blank | 4 comment | 4 complexity | 227372d55bd84b13a5ef7c7b44c162bb 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. package mpv5.utils.renderer;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import javax.swing.*;
  5. import javax.swing.table.*;
  6. /**
  7. * Nobuo Tamemasa (http://www2.gol.com/users/tame/swing/examples/JTableExamples1.html)
  8. * @version 1.0 11/09/98
  9. */
  10. public class ButtonEditor extends DefaultCellEditor {
  11. protected JButton button;
  12. private String label;
  13. private boolean isPushed;
  14. public ButtonEditor(JButton button) {
  15. super(new JCheckBox());
  16. setClickCountToStart(1);
  17. this.button = button;
  18. button.setOpaque(true);
  19. button.setMargin(new Insets(0, 0, 0, 0));
  20. button.addActionListener(new ActionListener() {
  21. public void actionPerformed(ActionEvent e) {
  22. fireEditingStopped();
  23. }
  24. });
  25. }
  26. @Override
  27. public Component getTableCellEditorComponent(JTable table, Object value,
  28. boolean isSelected, int row, int column) {
  29. if (isSelected) {
  30. button.setForeground(table.getSelectionForeground());
  31. button.setBackground(table.getSelectionBackground());
  32. } else {
  33. button.setForeground(table.getForeground());
  34. button.setBackground(table.getBackground());
  35. }
  36. label = (value == null) ? "" : value.toString();
  37. button.setText(label);
  38. isPushed = true;
  39. return button;
  40. }
  41. @Override
  42. public Object getCellEditorValue() {
  43. if (isPushed) {
  44. }
  45. isPushed = false;
  46. return new String(label);
  47. }
  48. @Override
  49. public boolean stopCellEditing() {
  50. isPushed = false;
  51. return super.stopCellEditing();
  52. }
  53. @Override
  54. protected void fireEditingStopped() {
  55. super.fireEditingStopped();
  56. }
  57. }