/src/mpv5/utils/ui/PanelUtils.java

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/ · Java · 172 lines · 117 code · 27 blank · 28 comment · 19 complexity · 8a9c85afbd45c7636af223f89f72a5dd MD5 · raw file

  1. /*
  2. *
  3. *
  4. */
  5. package mpv5.utils.ui;
  6. //~--- non-JDK imports --------------------------------------------------------
  7. import mpv5.ui.beans.LabeledTextField;
  8. //~--- JDK imports ------------------------------------------------------------
  9. import java.awt.AlphaComposite;
  10. import java.awt.Color;
  11. import java.awt.Component;
  12. import java.awt.Font;
  13. import java.awt.Graphics;
  14. import java.awt.Graphics2D;
  15. import java.awt.event.ActionEvent;
  16. import java.awt.event.ActionListener;
  17. import java.beans.PropertyChangeEvent;
  18. import java.beans.PropertyChangeListener;
  19. import java.util.HashMap;
  20. import javax.swing.*;
  21. import mpv5.ui.dialogs.subcomponents.ControlPanel_Company;
  22. import mpv5.utils.text.TypeConversion;
  23. /**
  24. *
  25. *
  26. */
  27. public class PanelUtils {
  28. /**
  29. * Cuts the text of a textfield to the given length
  30. * @param jTextField
  31. * @param length
  32. */
  33. public static void cut(JTextField jTextField, int length) {
  34. try {
  35. jTextField.setText(jTextField.getText().substring(0, length));
  36. } catch (Exception exception) {
  37. }
  38. }
  39. /**
  40. * Clears the text of the given components'
  41. * JTextfieds, LabeledTextFields, JEditorpanes and JTextareas
  42. * @param panel
  43. */
  44. public static void clearText(JPanel panel) {
  45. JTextField jt = null;
  46. Object p;
  47. JEditorPane ja = null;
  48. JTextArea je = null;
  49. LabeledTextField le = null;
  50. for (int i = 0; i < panel.getComponents().length; i++) {
  51. try {
  52. p = (java.lang.Object) panel.getComponents()[i];
  53. if (p.getClass().isInstance(new JTextField())) {
  54. jt = (JTextField) panel.getComponents()[i];
  55. jt.setText("");
  56. }
  57. if (p.getClass().isInstance(new JEditorPane())) {
  58. ja = (JEditorPane) panel.getComponents()[i];
  59. ja.setText(null);
  60. }
  61. if (p.getClass().isInstance(new JTextArea())) {
  62. je = (JTextArea) panel.getComponents()[i];
  63. je.setText("");
  64. }
  65. if (p.getClass().isInstance(new LabeledTextField())) {
  66. le = (LabeledTextField) panel.getComponents()[i];
  67. le.set_Text("");
  68. }
  69. } catch (Exception exception) {
  70. }
  71. }
  72. }
  73. /**
  74. * Enables/disables the subcomponents of a panel entirely (not the panel itself!)
  75. * @param component
  76. * @param state True means enabled, false disabled
  77. */
  78. public static void enableSubComponents(JComponent component, boolean state) {
  79. for (int i = 0; i < component.getComponents().length; i++) {
  80. component.getComponents()[i].setEnabled(state);
  81. }
  82. }
  83. public static void setTitle(JPanel aThis, String cname_) {
  84. if (aThis.getParent() instanceof JViewport || aThis.getParent() instanceof JTabbedPane) {
  85. JTabbedPane jTabbedPane = null;
  86. String title1 = cname_;
  87. //this->viewport->scrollpane->tabbedpane
  88. if (aThis.getParent().getParent().getParent() instanceof JTabbedPane) {
  89. jTabbedPane = (JTabbedPane) aThis.getParent().getParent().getParent();
  90. } else {
  91. try {
  92. jTabbedPane = (JTabbedPane) aThis.getParent();
  93. } catch (Exception e) {
  94. //Free floating window
  95. ((JFrame) aThis.getRootPane().getParent()).setTitle(title1);
  96. }
  97. }
  98. if (jTabbedPane != null) {
  99. jTabbedPane.setTitleAt(jTabbedPane.getSelectedIndex(), title1);
  100. }
  101. }
  102. }
  103. public static HashMap<String, String> getSubComponentValues(JComponent panel) {
  104. HashMap<String, String> m = new HashMap<String, String>();
  105. JTextField jt = null;
  106. Object p;
  107. JEditorPane ja = null;
  108. JTextArea je = null;
  109. JCheckBox jc = null;
  110. JRadioButton jr = null;
  111. LabeledTextField le = null;
  112. for (int i = 0; i < panel.getComponents().length; i++) {
  113. try {
  114. p = (java.lang.Object) panel.getComponents()[i];
  115. if (p.getClass().isInstance(new JTextField())) {
  116. jt = (JTextField) panel.getComponents()[i];
  117. m.put(jt.getName(), jt.getText());
  118. }
  119. if (p.getClass().isInstance(new JEditorPane())) {
  120. ja = (JEditorPane) panel.getComponents()[i];
  121. m.put(ja.getName(), ja.getText());
  122. }
  123. if (p.getClass().isInstance(new JTextArea())) {
  124. je = (JTextArea) panel.getComponents()[i];
  125. m.put(je.getName(), je.getText());
  126. }
  127. if (p.getClass().isInstance(new LabeledTextField())) {
  128. le = (LabeledTextField) panel.getComponents()[i];
  129. m.put(le.getName(), le.getText());
  130. }
  131. if (p.getClass().isInstance(new JRadioButton())) {
  132. jr = (JRadioButton) panel.getComponents()[i];
  133. m.put(jr.getName(), TypeConversion.booleanToString(jr.isSelected()));
  134. }
  135. if (p.getClass().isInstance(new JCheckBox())) {
  136. jc = (JCheckBox) panel.getComponents()[i];
  137. m.put(jc.getName(), TypeConversion.booleanToString(jc.isSelected()));
  138. }
  139. } catch (Exception exception) {
  140. }
  141. }
  142. return m;
  143. }
  144. }
  145. //~ Formatted by Jindent --- http://www.jindent.com