Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Class TestMaskFormatter.java
- *
- */
- package gui;
- import javax.swing.JFormattedTextField;
- import javax.swing.text.MaskFormatter;
- /**
- *
- * @author mehdi.tassoumt
- */
- public class TestMaskFormatter extends javax.swing.JFrame {
- private MaskFormatter userCodeFormatter;
- private final byte USERNAME_MIN_LENGTH = 6; // do not use magic numbers, here just as example
- public TestMaskFormatter() {
- this.setTitle("New User");
- try {
- userCodeFormatter = new MaskFormatter("AAAAAA##"); // pattern for 6 characters from A to Z + two numbers
- userCodeFormatter.setPlaceholderCharacter('_');
- } catch (java.text.ParseException ex) {
- // Should make sure to pass correct params to MaskFormatter
- }
- initComponents();
- }
- public void showDialog() {
- this.setVisible(true);
- }
- private void jCancelButtonActionPerformed(java.awt.event.ActionEvent evt) {
- closeDialog();
- }
- private void jSaveButtonActionPerformed(java.awt.event.ActionEvent evt) {
- // Should use a generic form validator instead
- if (jUserNameTextField.getText().length() == USERNAME_MIN_LENGTH) {
- //save user details
- } else {
- // Prompt message to type a Username containing the right amount of characters
- }
- }
- private void closeDialog() {
- this.setVisible(false);
- this.dispose();
- }
- /*
- * Gui init code
- */
- @SuppressWarnings("unchecked")
- private void initComponents() {
- jTitlePanel = new javax.swing.JPanel();
- jTitleLabel = new javax.swing.JLabel();
- jUserDetailsPanel = new javax.swing.JPanel();
- jUserNameLabel = new javax.swing.JLabel();
- jUserNameTextField = new JFormattedTextField(userCodeFormatter);
- jPasswordLabel = new javax.swing.JLabel();
- jPasswordField = new javax.swing.JPasswordField();
- jControlPanel = new javax.swing.JPanel();
- jSaveButton = new javax.swing.JButton();
- jCancelButton = new javax.swing.JButton();
- setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
- setName("Form");
- jTitlePanel.setName("jTitlePanel");
- jTitleLabel.setFont(jTitleLabel.getFont().deriveFont(jTitleLabel.getFont().getStyle() | java.awt.Font.BOLD, jTitleLabel.getFont().getSize()+6));
- jTitleLabel.setText("Enter User details");
- javax.swing.GroupLayout jTitlePanelLayout = new javax.swing.GroupLayout(jTitlePanel);
- jTitlePanel.setLayout(jTitlePanelLayout);
- jTitlePanelLayout.setHorizontalGroup(
- jTitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(jTitlePanelLayout.createSequentialGroup()
- .addContainerGap()
- .add(jTitleLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- jTitlePanelLayout.setVerticalGroup(
- jTitlePanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(jTitlePanelLayout.createSequentialGroup()
- .addContainerGap()
- .add(jTitleLabel)
- .addContainerGap())
- );
- jUserDetailsPanel.setName("jUserDetailsPanel");
- jUserNameLabel.setFont(jUserNameLabel.getFont().deriveFont(jUserNameLabel.getFont().getStyle() & ~java.awt.Font.BOLD));
- jUserNameLabel.setText("Username :");
- jUserNameTextField.setFont(jUserNameTextField.getFont().deriveFont(jUserNameTextField.getFont().getStyle() & ~java.awt.Font.BOLD));
- jUserNameTextField.setToolTipText("Enter a user name, containing 6 characters + 2 numbers");
- jPasswordLabel.setFont(jPasswordLabel.getFont().deriveFont(jPasswordLabel.getFont().getStyle() & ~java.awt.Font.BOLD));
- jPasswordLabel.setText("Password :");
- jPasswordField.setFont(jPasswordField.getFont().deriveFont(jPasswordField.getFont().getStyle() & ~java.awt.Font.BOLD));
- jPasswordField.setToolTipText("Enter password, minimum 6 characters");
- javax.swing.GroupLayout jUserDetailsPanelLayout = new javax.swing.GroupLayout(jUserDetailsPanel);
- jUserDetailsPanel.setLayout(jUserDetailsPanelLayout);
- jUserDetailsPanelLayout.setHorizontalGroup(
- jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(jUserDetailsPanelLayout.createSequentialGroup()
- .addContainerGap()
- .add(jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(javax.swing.GroupLayout.TRAILING, jUserNameLabel)
- .add(javax.swing.GroupLayout.TRAILING, jPasswordLabel))
- .addPreferredGap(javax.swing.LayoutStyle.RELATED)
- .add(jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING, false)
- .add(jPasswordField)
- .add(jUserNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap())
- );
- jUserDetailsPanelLayout.setVerticalGroup(
- jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(jUserDetailsPanelLayout.createSequentialGroup()
- .addContainerGap()
- .add(jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.BASELINE)
- .add(jUserNameLabel)
- .add(jUserNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.RELATED)
- .add(jUserDetailsPanelLayout.createParallelGroup(javax.swing.GroupLayout.BASELINE)
- .add(jPasswordLabel)
- .add(jPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- );
- jControlPanel.setName("jControlPanel");
- jSaveButton.setFont(jSaveButton.getFont());
- jSaveButton.setText("Save");
- jSaveButton.setName("jSaveButton");
- jSaveButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jSaveButtonActionPerformed(evt);
- }
- });
- jCancelButton.setFont(jCancelButton.getFont());
- jCancelButton.setText("Cancel");
- jCancelButton.setName("jCancelButton");
- jCancelButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jCancelButtonActionPerformed(evt);
- }
- });
- javax.swing.GroupLayout jControlPanelLayout = new javax.swing.GroupLayout(jControlPanel);
- jControlPanel.setLayout(jControlPanelLayout);
- jControlPanelLayout.setHorizontalGroup(
- jControlPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(jControlPanelLayout.createSequentialGroup()
- .addContainerGap()
- .add(jSaveButton)
- .addPreferredGap(javax.swing.LayoutStyle.RELATED)
- .add(jCancelButton)
- .addContainerGap())
- );
- jControlPanelLayout.setVerticalGroup(
- jControlPanelLayout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(jControlPanelLayout.createSequentialGroup()
- .addContainerGap()
- .add(jControlPanelLayout.createParallelGroup(javax.swing.GroupLayout.BASELINE)
- .add(jCancelButton)
- .add(jSaveButton))
- .addContainerGap())
- );
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(layout.createSequentialGroup()
- .addContainerGap()
- .add(layout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(jUserDetailsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .add(jTitlePanel, javax.swing.GroupLayout.PREFERRED_SIZE, 197, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap())
- .add(javax.swing.GroupLayout.TRAILING, layout.createSequentialGroup()
- .addContainerGap(132, Short.MAX_VALUE)
- .add(jControlPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.LEADING)
- .add(layout.createSequentialGroup()
- .addContainerGap()
- .add(jTitlePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.RELATED)
- .add(jUserDetailsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.RELATED, 18, Short.MAX_VALUE)
- .add(jControlPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- );
- pack();
- }
- // Gui Variables declaration
- private javax.swing.JButton jCancelButton;
- private javax.swing.JPanel jControlPanel;
- private javax.swing.JPasswordField jPasswordField;
- private javax.swing.JLabel jPasswordLabel;
- private javax.swing.JButton jSaveButton;
- private javax.swing.JLabel jTitleLabel;
- private javax.swing.JPanel jTitlePanel;
- private javax.swing.JPanel jUserDetailsPanel;
- private javax.swing.JLabel jUserNameLabel;
- private javax.swing.JTextField jUserNameTextField;
- // End of Gui variables declaration
- }
Add Comment
Please, Sign In to add comment