/* * The MIT License * * Copyright 2014, 2015, 2016 Rui Martinho (rmartinho@gmail.com), António Braz (antoniocbraz@gmail.com) * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package org.poreid.dialogs.pindialogs.otpfeedback; import java.awt.CardLayout; import java.text.MessageFormat; import java.util.Locale; import java.util.ResourceBundle; import org.poreid.config.POReIDConfig; /** * * @author POReID */ public class OTPFeedbackDialog extends javax.swing.JDialog { private final ResourceBundle bundle; private final String pinLabel; private int step = 0; /** * Creates new form OTPFeedbackDialog * @param pinLabel Descrição textual do pin * @param locale Linguagem utilizada */ public OTPFeedbackDialog(String pinLabel, Locale locale) { super(); this.pinLabel = pinLabel; bundle = POReIDConfig.getBundle(OTPFeedbackDialog.class.getSimpleName(),locale); initComponents(); status.setText(bundle.getString("dialog.action.start")); this.setTitle(MessageFormat.format(bundle.getString("dialog.title"),pinLabel)); msgLabel.setText(MessageFormat.format(bundle.getString("dialog.action.message"),pinLabel)); this.getAccessibleContext().setAccessibleDescription(MessageFormat.format(bundle.getString("dialog.description"),pinLabel)); } /** * 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() { jPanel1 = new javax.swing.JPanel(); jProgressBar1 = new javax.swing.JProgressBar(); jLabel1 = new javax.swing.JLabel(); status = new javax.swing.JLabel(); msgLabel = new javax.swing.JLabel(); jPanel2 = new javax.swing.JPanel(); jLabel4 = new javax.swing.JLabel(); successLabel = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); setAlwaysOnTop(true); setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL); setResizable(false); getContentPane().setLayout(new java.awt.CardLayout()); jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource(POReIDConfig.IMAGE_WARNING_LOCATION))); // NOI18N status.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N status.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); msgLabel.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N msgLabel.setVerticalTextPosition(javax.swing.SwingConstants.TOP); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 330, Short.MAX_VALUE) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(msgLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addComponent(status, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(msgLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(status, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); getContentPane().add(jPanel1, "card2"); jPanel2.setMaximumSize(new java.awt.Dimension(350, 145)); jPanel2.setMinimumSize(new java.awt.Dimension(350, 145)); jPanel2.setPreferredSize(new java.awt.Dimension(350, 145)); jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource(POReIDConfig.IMAGE_WARNING_LOCATION))); // NOI18N successLabel.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N successLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); successLabel.setText(MessageFormat.format(bundle.getString("dialog.action.success"),pinLabel)); successLabel.setVerticalTextPosition(javax.swing.SwingConstants.TOP); jPanel3.setLayout(new java.awt.GridBagLayout()); jButton1.setText(bundle.getString("close.button")); jButton1.setPreferredSize(new java.awt.Dimension(114, 36)); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jPanel3.add(jButton1, new java.awt.GridBagConstraints()); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, 330, Short.MAX_VALUE) .addGroup(jPanel2Layout.createSequentialGroup() .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(successLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addContainerGap()) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(successLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(23, 23, 23) .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); getContentPane().add(jPanel2, "card3"); pack(); setLocationRelativeTo(null); }// </editor-fold>//GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed this.dispose(); }//GEN-LAST:event_jButton1ActionPerformed /** * @param args the command line arguments */ static OTPFeedbackDialog dialog; public static void main(String args[]){ /* Create and display the dialog */ java.awt.EventQueue.invokeLater(new Runnable() { @Override public void run() { dialog = new OTPFeedbackDialog(null,null); dialog.setVisible(true); } }); } void updateState() { switch (++step) { case 1: case 2: case 4: case 5: status.setText(bundle.getString("dialog.action.step"+step)); jProgressBar1.setValue(step*20); break; case 3: status.setText(MessageFormat.format(bundle.getString("dialog.action.step"+step),pinLabel)); jProgressBar1.setValue(step*20); break; default: CardLayout cardLayout = (CardLayout)getContentPane().getLayout(); cardLayout.show(getContentPane(), "card3"); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); break; } } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JProgressBar jProgressBar1; private javax.swing.JLabel msgLabel; private javax.swing.JLabel status; private javax.swing.JLabel successLabel; // End of variables declaration//GEN-END:variables }