/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package tr.gov.turkiye.esignuidesk.view.pane; import java.awt.Point; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JTextField; import tr.gov.turkiye.esignuidesk.annotation.FocusOwner; import tr.gov.turkiye.esignuidesk.config.Config; import tr.gov.turkiye.esignuidesk.controller.LogicManager; import tr.gov.turkiye.esignuidesk.data.UserData; import tr.gov.turkiye.esignuidesk.props.ScreenProperties; import tr.gov.turkiye.esignuidesk.support.Utils; /** * * @author iakpolat */ public class PinPane extends javax.swing.JPanel { private final ArrayList<JButton> btnList; /** * Creates new form PinPane */ public PinPane() { initComponents(); setBounds(Config.DEF_PANEL_STARTING_X, Config.DEF_PANEL_STARTING_Y, Config.DEF_PANEL_WIDTH, Config.DEF_PANEL_HEIGHT); btnList = new ArrayList<>(); btnList.add(b1); btnList.add(b2); btnList.add(b3); btnList.add(b4); btnList.add(b5); btnList.add(b6); btnList.add(b7); btnList.add(b8); btnList.add(b9); btnList.add(b0); if(rndNumberCB.isSelected()) randomizeNumberPositions(); else normalizeNumberPositions(); } /** * Randomizes button positions. */ public final void randomizeNumberPositions() { Utils.randomizePositions(btnList, 3, Config.pinBtnStartPoint.x, Config.pinBtnStartPoint.y, Config.numberBtnSize.width, Config.numberBtnSize.height); } /** * Changes button positions to the original. */ public final void normalizeNumberPositions() { Utils.setComponentPositions(btnList, 3, Config.pinBtnStartPoint.x, Config.pinBtnStartPoint.y, Config.numberBtnSize.width, Config.numberBtnSize.height); } @FocusOwner public JTextField getPinField() { return pinField; } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { b1 = new javax.swing.JButton(); b2 = new javax.swing.JButton(); b3 = new javax.swing.JButton(); b4 = new javax.swing.JButton(); b5 = new javax.swing.JButton(); b6 = new javax.swing.JButton(); b7 = new javax.swing.JButton(); b8 = new javax.swing.JButton(); b9 = new javax.swing.JButton(); b0 = new javax.swing.JButton(); delBtn = new javax.swing.JButton(); messagePane = new javax.swing.JLabel(); signBtn = new javax.swing.JButton(); cancelBtn = new javax.swing.JButton(); pinField = new javax.swing.JPasswordField(); showPassCB = new javax.swing.JCheckBox(); rndNumberCB = new javax.swing.JCheckBox(); setBackground(new java.awt.Color(255, 255, 255)); setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); setMaximumSize(new java.awt.Dimension(260, 250)); setName(Config.pinPaneName); setSize(new java.awt.Dimension(260, 250)); setLayout(null); b1.setText("1"); b1.setFocusable(false); b1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b1ActionPerformed(evt); } }); add(b1); b1.setBounds(20, 60, 40, 40); b2.setText("2"); b2.setFocusable(false); b2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b2ActionPerformed(evt); } }); add(b2); b2.setBounds(60, 60, 40, 40); b3.setText("3"); b3.setFocusable(false); b3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b3ActionPerformed(evt); } }); add(b3); b3.setBounds(100, 60, 40, 40); b4.setText("4"); b4.setFocusable(false); b4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b4ActionPerformed(evt); } }); add(b4); b4.setBounds(20, 100, 40, 40); b5.setText("5"); b5.setFocusable(false); b5.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b5ActionPerformed(evt); } }); add(b5); b5.setBounds(60, 100, 40, 40); b6.setText("6"); b6.setFocusable(false); b6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b6ActionPerformed(evt); } }); add(b6); b6.setBounds(100, 100, 40, 40); b7.setText("7"); b7.setFocusable(false); b7.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b7ActionPerformed(evt); } }); add(b7); b7.setBounds(20, 140, 40, 40); b8.setText("8"); b8.setFocusable(false); b8.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b8ActionPerformed(evt); } }); add(b8); b8.setBounds(60, 140, 40, 40); b9.setText("9"); b9.setFocusable(false); b9.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b9ActionPerformed(evt); } }); add(b9); b9.setBounds(100, 140, 40, 40); b0.setText("0"); b0.setFocusable(false); b0.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { b0ActionPerformed(evt); } }); add(b0); b0.setBounds(20, 180, 40, 40); delBtn.setText("del"); delBtn.setFocusable(false); delBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { delBtnActionPerformed(evt); } }); add(delBtn); delBtn.setBounds(60, 180, 80, 40); messagePane.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); messagePane.setText(ScreenProperties.getValue("enter_pin")); messagePane.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); add(messagePane); messagePane.setBounds(0, 10, 160, 16); signBtn.setLabel(ScreenProperties.getValue("sign")); signBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { signBtnActionPerformed(evt); } }); add(signBtn); signBtn.setBounds(90, 220, 70, 29); cancelBtn.setText(ScreenProperties.getValue("back")); cancelBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancelBtnActionPerformed(evt); } }); add(cancelBtn); cancelBtn.setBounds(20, 220, 70, 29); pinField.setNextFocusableComponent(signBtn); pinField.setPreferredSize(new java.awt.Dimension(140, 28)); add(pinField); pinField.setBounds(10, 30, 245, 28); showPassCB.setText(ScreenProperties.getValue("show_pass") ); showPassCB.setIconTextGap(0); showPassCB.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { showPassCBActionPerformed(evt); } }); add(showPassCB); showPassCB.setBounds(140, 70, 120, 23); rndNumberCB.setText(ScreenProperties.getValue("show_pass")); rndNumberCB.setSelected(true); rndNumberCB.setText(ScreenProperties.getValue("rnd_number") ); rndNumberCB.setIconTextGap(0); rndNumberCB.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { rndNumberCBActionPerformed(evt); } }); add(rndNumberCB); rndNumberCB.setBounds(140, 90, 120, 23); }// </editor-fold>//GEN-END:initComponents private void buttonAction(java.awt.event.ActionEvent evt) { if(rndNumberCB.isSelected()) { randomizeNumberPositions(); } if(evt.getSource() instanceof JButton) pinField.setText(pinField.getText()+Utils.getButtonNumber((JButton) evt.getSource())); else System.out.println("Event source must be JButton."); } private void delBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_delBtnActionPerformed if(pinField.getPassword().length>0) pinField.setText(pinField.getText().substring(0,pinField.getPassword().length-1)); }//GEN-LAST:event_delBtnActionPerformed private void b1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b1ActionPerformed buttonAction(evt); }//GEN-LAST:event_b1ActionPerformed private void b7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b7ActionPerformed buttonAction(evt); }//GEN-LAST:event_b7ActionPerformed private void b8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b8ActionPerformed buttonAction(evt); }//GEN-LAST:event_b8ActionPerformed private void b2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b2ActionPerformed buttonAction(evt); }//GEN-LAST:event_b2ActionPerformed private void signBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_signBtnActionPerformed UserData.pinPass = pinField.getPassword(); LogicManager.done(Config.PIN_PANE_ID); }//GEN-LAST:event_signBtnActionPerformed private void cancelBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelBtnActionPerformed LogicManager.cancel(Config.PIN_PANE_ID); }//GEN-LAST:event_cancelBtnActionPerformed private void b3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b3ActionPerformed buttonAction(evt); }//GEN-LAST:event_b3ActionPerformed private void b4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b4ActionPerformed buttonAction(evt); }//GEN-LAST:event_b4ActionPerformed private void b5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b5ActionPerformed buttonAction(evt); }//GEN-LAST:event_b5ActionPerformed private void b6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b6ActionPerformed buttonAction(evt); }//GEN-LAST:event_b6ActionPerformed private void b9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b9ActionPerformed buttonAction(evt); }//GEN-LAST:event_b9ActionPerformed private void b0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b0ActionPerformed buttonAction(evt); }//GEN-LAST:event_b0ActionPerformed private void showPassCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_showPassCBActionPerformed if(pinField.getEchoChar()==(char)0) { pinField.setEchoChar('*'); } else { pinField.setEchoChar((char)0); } }//GEN-LAST:event_showPassCBActionPerformed private void rndNumberCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rndNumberCBActionPerformed if(rndNumberCB.isSelected()) { randomizeNumberPositions(); } else { normalizeNumberPositions(); } }//GEN-LAST:event_rndNumberCBActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton b0; private javax.swing.JButton b1; private javax.swing.JButton b2; private javax.swing.JButton b3; private javax.swing.JButton b4; private javax.swing.JButton b5; private javax.swing.JButton b6; private javax.swing.JButton b7; private javax.swing.JButton b8; private javax.swing.JButton b9; private javax.swing.JButton cancelBtn; private javax.swing.JButton delBtn; private javax.swing.JLabel messagePane; private javax.swing.JPasswordField pinField; private javax.swing.JCheckBox rndNumberCB; private javax.swing.JCheckBox showPassCB; private javax.swing.JButton signBtn; // End of variables declaration//GEN-END:variables }