DurationPanel.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package org.leumasjaffe.recipe.view;
  2. import java.awt.GridBagConstraints;
  3. import java.awt.GridBagLayout;
  4. import java.awt.Insets;
  5. import javax.swing.JFormattedTextField;
  6. import javax.swing.JLabel;
  7. import javax.swing.JPanel;
  8. import org.leumasjaffe.recipe.model.Duration;
  9. import org.leumasjaffe.recipe.view.formatter.DurationFormatter;
  10. @SuppressWarnings("serial")
  11. public class DurationPanel extends JPanel {
  12. JFormattedTextField txtTime;
  13. /**
  14. * @wbp.parser.constructor
  15. */
  16. public DurationPanel(String name) {
  17. GridBagLayout gridBagLayout = new GridBagLayout();
  18. gridBagLayout.columnWidths = new int[]{0, 0, 0};
  19. gridBagLayout.rowHeights = new int[]{0, 0};
  20. gridBagLayout.columnWeights = new double[]{0.0, 0.0, Double.MIN_VALUE};
  21. gridBagLayout.rowWeights = new double[]{0.0, Double.MIN_VALUE};
  22. setLayout(gridBagLayout);
  23. JLabel lblName = new JLabel(name + ": ");
  24. GridBagConstraints gbc_lblName = new GridBagConstraints();
  25. gbc_lblName.insets = new Insets(0, 0, 0, 5);
  26. gbc_lblName.gridx = 0;
  27. gbc_lblName.gridy = 0;
  28. add(lblName, gbc_lblName);
  29. txtTime = new JFormattedTextField(new DurationFormatter());
  30. GridBagConstraints gbc_txtTime = new GridBagConstraints();
  31. gbc_txtTime.gridx = 1;
  32. gbc_txtTime.gridy = 0;
  33. add(txtTime, gbc_txtTime);
  34. }
  35. public DurationPanel(String name, final Duration duration) {
  36. this(name);
  37. setModel(duration);
  38. }
  39. public void setModel(final Duration duration) {
  40. txtTime.setValue(duration);
  41. }
  42. public void setEditable(boolean b) {
  43. txtTime.setEditable(b);
  44. }
  45. }