package cz.cvut.fel.restauracefel.restauracefel.gui; import cz.cvut.fel.restauracefel.library.Enums.EnumLoginResult; import cz.cvut.fel.restauracefel.library.library_gui.Keyboard; import cz.cvut.fel.restauracefel.library.service.LocalizationManager; import cz.cvut.fel.restauracefel.restauracefel.main.Main; import java.awt.Point; import javax.swing.JTextField; /** * Trida reprezentujici GUI formular pro prihlasovani do systemu. * * @author Tomas Hnizdil */ public class LogingForm extends AbstractForm { private StatusBar statusBar = null; protected JTextField actualTF; private Keyboard keyboard; private ViewController viewController; /** * Konstruktor tridy LogingForm. * * @param parent * @param bar */ public LogingForm(MainFrame parent, StatusBar bar) { this.statusBar = bar; initComponents(); LocalizationManager manager = LocalizationManager.getInstance(); manager.localizeLabel(Main.DEFAULT_BUNDLE_BASE_NAME, "LoggingLabel", jLabelInfo); manager.localizeLabel(Main.DEFAULT_BUNDLE_BASE_NAME, "UsernameLabel", jLabelUsername); manager.localizeLabel(Main.DEFAULT_BUNDLE_BASE_NAME, "PasswordLabel", jLabelPassword); manager.localizeButton(Main.DEFAULT_BUNDLE_BASE_NAME, "LogInButton", jButtonLog); manager.localizeButton(Main.DEFAULT_BUNDLE_BASE_NAME, "CancelButton", jButtonClose); actualTF = jTextFieldUsername; jButtonLog.requestFocus(); keyboard = new Keyboard(this, actualTF); jPanel4.add(keyboard); keyboard.setLocation(new Point(20, 40)); viewController = ViewController.getInstance(); } /** * Metoda prenastavuje statusBar. * */ @Override protected void refresh() { statusBar.setMessage("Přihlášení uživatele."); } /** 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() { jPanel4 = new javax.swing.JPanel(); jPanel1 = new javax.swing.JPanel(); jLabelInfo = new javax.swing.JLabel(); jPasswordField = new javax.swing.JPasswordField(); jTextFieldUsername = new javax.swing.JTextField(); jLabelPassword = new javax.swing.JLabel(); jButtonClose = new javax.swing.JButton(); jButtonLog = new javax.swing.JButton(); jLabelUsername = new javax.swing.JLabel(); setBackground(javax.swing.UIManager.getDefaults().getColor("CheckBox.light")); setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); jPanel4.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true)); jLabelInfo.setFont(new java.awt.Font("Tahoma", 1, 12)); jLabelInfo.setText("Přihlášení do systému RestauraceFEL"); jPasswordField.setText("1234"); jPasswordField.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { jPasswordFieldFocusGained(evt); } }); jTextFieldUsername.setText("MACH"); jTextFieldUsername.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { jTextFieldUsernameFocusGained(evt); } }); jLabelPassword.setText("Heslo"); jButtonClose.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/cvut/fel/restauracefel/buttons/ko.png"))); // NOI18N jButtonClose.setText("Konec"); jButtonClose.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonCloseActionPerformed(evt); } }); jButtonLog.setIcon(new javax.swing.ImageIcon(getClass().getResource("/cz/cvut/fel/restauracefel/buttons/ok.png"))); // NOI18N jButtonLog.setText("Přihlásit se"); jButtonLog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonLogActionPerformed(evt); } }); jLabelUsername.setText("Uživatelské jméno"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(20, 20, 20) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jButtonClose, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jButtonLog, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jLabelPassword) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jLabelUsername) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextFieldUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE))))) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jLabelInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addGap(25, 25, 25) .addComponent(jLabelInfo) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 33, Short.MAX_VALUE) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabelUsername) .addComponent(jTextFieldUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(21, 21, 21) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabelPassword) .addComponent(jPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(48, 48, 48) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButtonClose, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButtonLog, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); jPanel4.setLayout(jPanel4Layout); jPanel4Layout.setHorizontalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup() .addContainerGap(375, Short.MAX_VALUE) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(238, 238, 238)) ); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(214, Short.MAX_VALUE)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); }// </editor-fold>//GEN-END:initComponents private void jButtonCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCloseActionPerformed System.exit(0); }//GEN-LAST:event_jButtonCloseActionPerformed private void jButtonLogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonLogActionPerformed String username = jTextFieldUsername.getText(); String password = String.copyValueOf(jPasswordField.getPassword()); EnumLoginResult result = viewController.login(username, password, null); switch (result) { case LoginSuccesful: keyboard.setVisible(false); setVisible(false); break; case WrongLoginData: jTextFieldUsername.setText(""); jPasswordField.setText(""); jLabelInfo.setText("Nesprávné uživatelské jméno nebo heslo"); break; } }//GEN-LAST:event_jButtonLogActionPerformed private void jPasswordFieldFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jPasswordFieldFocusGained keyboard.setActualTF(jPasswordField); actualTF = jPasswordField; }//GEN-LAST:event_jPasswordFieldFocusGained private void jTextFieldUsernameFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldUsernameFocusGained keyboard.setActualTF(jTextFieldUsername); actualTF = jTextFieldUsername; }//GEN-LAST:event_jTextFieldUsernameFocusGained // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButtonClose; private javax.swing.JButton jButtonLog; private javax.swing.JLabel jLabelInfo; private javax.swing.JLabel jLabelPassword; private javax.swing.JLabel jLabelUsername; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel4; private javax.swing.JPasswordField jPasswordField; private javax.swing.JTextField jTextFieldUsername; // End of variables declaration//GEN-END:variables }