Guest User

Untitled

a guest
Jul 13th, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.13 KB | None | 0 0
  1. /*
  2. * Class TestMaskFormatter.java
  3. *
  4. */
  5.  
  6. package gui;
  7.  
  8. import javax.swing.JFormattedTextField;
  9. import javax.swing.text.MaskFormatter;
  10.  
  11. /**
  12. *
  13. * @author mehdi.tassoumt
  14. */
  15. public class TestMaskFormatter extends javax.swing.JFrame {
  16.  
  17. private MaskFormatter userCodeFormatter;
  18. private final byte USERNAME_MIN_LENGTH = 6;
  19.  
  20. public TestMaskFormatter() {
  21. this.setTitle("New User");
  22. try {
  23. userCodeFormatter = new MaskFormatter("AAAAAA##");
  24. userCodeFormatter.setPlaceholderCharacter('_');
  25. } catch (java.text.ParseException ex) {
  26. // Should make sure to pass correct params to MaskFormatter
  27. }
  28.  
  29. initComponents();
  30. }
  31.  
  32. public void showDialog() {
  33. this.setVisible(true);
  34. }
  35.  
  36. private void jCancelButtonActionPerformed(java.awt.event.ActionEvent evt) {
  37. closeDialog();
  38. }
  39.  
  40. private void jSaveButtonActionPerformed(java.awt.event.ActionEvent evt) {
  41. // Should use a generic form validator instead
  42. if (jUserNameTextField.getText().length() == USERNAME_MIN_LENGTH) {
  43. //save user details
  44. } else {
  45. // Prompt message to type a Username containing the right amount of characters
  46. }
  47. }
  48.  
  49. private void closeDialog() {
  50. this.setVisible(false);
  51. this.dispose();
  52. }
  53.  
  54.  
  55. /*
  56. * Gui init code
  57. */
  58. @SuppressWarnings("unchecked")
  59. private void initComponents() {
  60.  
  61. jTitlePanel = new javax.swing.JPanel();
  62. jTitleLabel = new javax.swing.JLabel();
  63. jUserDetailsPanel = new javax.swing.JPanel();
  64. jUserNameLabel = new javax.swing.JLabel();
  65. jUserNameTextField = new JFormattedTextField(userCodeFormatter);
  66. jPasswordLabel = new javax.swing.JLabel();
  67. jPasswordField = new javax.swing.JPasswordField();
  68. jControlPanel = new javax.swing.JPanel();
  69. jSaveButton = new javax.swing.JButton();
  70. jCancelButton = new javax.swing.JButton();
  71.  
  72. setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  73. setName("Form");
  74.  
  75. jTitlePanel.setName("jTitlePanel");
  76.  
  77. jTitleLabel.setFont(jTitleLabel.getFont().deriveFont(jTitleLabel.getFont().getStyle() | java.awt.Font.BOLD, jTitleLabel.getFont().getSize()+6));
  78. jTitleLabel.setText("Enter User details");
  79.  
  80. javax.swing.GroupLayout jTitlePanelLayout = new javax.swing.GroupLayout(jTitlePanel);
  81. jTitlePanel.setLayout(jTitlePanelLayout);
  82. jTitlePanelLayout.setHorizontalGroup(
  83. jTitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  84. .add(jTitlePanelLayout.createSequentialGroup()
  85. .addContainerGap()
  86. .add(jTitleLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
  87. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  88. );
  89. jTitlePanelLayout.setVerticalGroup(
  90. jTitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  91. .add(jTitlePanelLayout.createSequentialGroup()
  92. .addContainerGap()
  93. .add(jTitleLabel)
  94. .addContainerGap())
  95. );
  96.  
  97. jUserDetailsPanel.setName("jUserDetailsPanel");
  98.  
  99. jUserNameLabel.setFont(jUserNameLabel.getFont().deriveFont(jUserNameLabel.getFont().getStyle() & ~java.awt.Font.BOLD));
  100. jUserNameLabel.setText("Username :");
  101.  
  102. jUserNameTextField.setFont(jUserNameTextField.getFont().deriveFont(jUserNameTextField.getFont().getStyle() & ~java.awt.Font.BOLD));
  103. jUserNameTextField.setToolTipText("Enter a user name, containing 6 characters + 2 numbers");
  104.  
  105. jPasswordLabel.setFont(jPasswordLabel.getFont().deriveFont(jPasswordLabel.getFont().getStyle() & ~java.awt.Font.BOLD));
  106. jPasswordLabel.setText("Password :");
  107.  
  108. jPasswordField.setFont(jPasswordField.getFont().deriveFont(jPasswordField.getFont().getStyle() & ~java.awt.Font.BOLD));
  109. jPasswordField.setToolTipText("Enter password, minimum 6 characters");
  110.  
  111. javax.swing.GroupLayout jUserDetailsPanelLayout = new javax.swing.GroupLayout(jUserDetailsPanel);
  112. jUserDetailsPanel.setLayout(jUserDetailsPanelLayout);
  113. jUserDetailsPanelLayout.setHorizontalGroup(
  114. jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  115. .add(jUserDetailsPanelLayout.createSequentialGroup()
  116. .addContainerGap()
  117. .add(jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  118. .add(javax.swing.GroupLayout.TRAILING, jUserNameLabel)
  119. .add(javax.swing.GroupLayout.TRAILING, jPasswordLabel))
  120. .addPreferredGap(javax.swing.LayoutStyle.RELATED)
  121. .add(jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING, false)
  122. .add(jPasswordField)
  123. .add(jUserNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE))
  124. .addContainerGap())
  125. );
  126. jUserDetailsPanelLayout.setVerticalGroup(
  127. jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  128. .add(jUserDetailsPanelLayout.createSequentialGroup()
  129. .addContainerGap()
  130. .add(jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.BASELINE)
  131. .add(jUserNameLabel)
  132. .add(jUserNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  133. .addPreferredGap(javax.swing.LayoutStyle.RELATED)
  134. .add(jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.BASELINE)
  135. .add(jPasswordLabel)
  136. .add(jPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
  137. );
  138.  
  139. jControlPanel.setName("jControlPanel");
  140.  
  141. jSaveButton.setFont(jSaveButton.getFont());
  142. jSaveButton.setText("Save");
  143. jSaveButton.setName("jSaveButton");
  144. jSaveButton.addActionListener(new java.awt.event.ActionListener() {
  145. public void actionPerformed(java.awt.event.ActionEvent evt) {
  146. jSaveButtonActionPerformed(evt);
  147. }
  148. });
  149.  
  150. jCancelButton.setFont(jCancelButton.getFont());
  151. jCancelButton.setText("Cancel");
  152. jCancelButton.setName("jCancelButton");
  153. jCancelButton.addActionListener(new java.awt.event.ActionListener() {
  154. public void actionPerformed(java.awt.event.ActionEvent evt) {
  155. jCancelButtonActionPerformed(evt);
  156. }
  157. });
  158.  
  159. javax.swing.GroupLayout jControlPanelLayout = new javax.swing.GroupLayout(jControlPanel);
  160. jControlPanel.setLayout(jControlPanelLayout);
  161. jControlPanelLayout.setHorizontalGroup(
  162. jControlPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  163. .add(jControlPanelLayout.createSequentialGroup()
  164. .addContainerGap()
  165. .add(jSaveButton)
  166. .addPreferredGap(javax.swing.LayoutStyle.RELATED)
  167. .add(jCancelButton)
  168. .addContainerGap())
  169. );
  170. jControlPanelLayout.setVerticalGroup(
  171. jControlPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  172. .add(jControlPanelLayout.createSequentialGroup()
  173. .addContainerGap()
  174. .add(jControlPanelLayout.createParallelGroup(javax.swing.GroupLayout.BASELINE)
  175. .add(jCancelButton)
  176. .add(jSaveButton))
  177. .addContainerGap())
  178. );
  179.  
  180. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  181. getContentPane().setLayout(layout);
  182. layout.setHorizontalGroup(
  183. layout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  184. .add(layout.createSequentialGroup()
  185. .addContainerGap()
  186. .add(layout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  187. .add(jUserDetailsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  188. .add(jTitlePanel, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE))
  189. .addContainerGap())
  190. .add(javax.swing.GroupLayout.TRAILING, layout.createSequentialGroup()
  191. .addContainerGap(132, Short.MAX_VALUE)
  192. .add(jControlPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  193. );
  194. layout.setVerticalGroup(
  195. layout.createParallelGroup(javax.swing.GroupLayout.LEADING)
  196. .add(layout.createSequentialGroup()
  197. .addContainerGap()
  198. .add(jTitlePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  199. .addPreferredGap(javax.swing.LayoutStyle.RELATED)
  200. .add(jUserDetailsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  201. .addPreferredGap(javax.swing.LayoutStyle.RELATED, 18, Short.MAX_VALUE)
  202. .add(jControlPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  203. );
  204.  
  205. pack();
  206. }
  207.  
  208. // Gui Variables declaration
  209. private javax.swing.JButton jCancelButton;
  210. private javax.swing.JPanel jControlPanel;
  211. private javax.swing.JPasswordField jPasswordField;
  212. private javax.swing.JLabel jPasswordLabel;
  213. private javax.swing.JButton jSaveButton;
  214. private javax.swing.JLabel jTitleLabel;
  215. private javax.swing.JPanel jTitlePanel;
  216. private javax.swing.JPanel jUserDetailsPanel;
  217. private javax.swing.JLabel jUserNameLabel;
  218. private javax.swing.JTextField jUserNameTextField;
  219. // End of Gui variables declaration
  220.  
  221. }
Add Comment
Please, Sign In to add comment