📄 loginjdialog.java.svn-base
字号:
/* * LoginJFrame.java * * Created on 2007年5月19日, 下午7:21 */package com.studio009.store.ui;import com.studio009.store.StoreApp;import com.studio009.store.entity.Operator;import javax.persistence.NoResultException;import javax.persistence.NonUniqueResultException;import javax.persistence.Query;import javax.swing.JOptionPane;import oracle.toplink.essentials.exceptions.DatabaseException;/** * 验证客户的登录对话框 * @see StoreApp * @author wangs */public class LoginJDialog extends javax.swing.JDialog { /** Creates new form LoginJFrame * @param parent 父窗口 * @param modal 模式 * @param username 登录时默认的用户名 * */ public LoginJDialog(java.awt.Frame parent, String username, Boolean modal) { super(parent, modal); try { initComponents(); //set username usernameField.setText(username); //set default button this.getRootPane().setDefaultButton(loginButton); this.setLocationRelativeTo(parent); }catch (DatabaseException de){ JOptionPane.showMessageDialog(this, "数据库错误!", "错误", JOptionPane.ERROR_MESSAGE); StoreApp.stopApp(); } } /** 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. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { em = StoreApp.getEntityManagerFactory().createEntityManager(); jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); usernameField = new javax.swing.JTextField(); passwordField = new javax.swing.JPasswordField(); loginButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("\u767b\u5f55"); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jLabel1.setFont(new java.awt.Font("Dialog", 1, 24)); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("com/studio009/store/language"); // NOI18N jLabel1.setText(bundle.getString("Store_Manager_System_Title")); // NOI18N jLabel2.setFont(new java.awt.Font("Dialog", 1, 14)); jLabel2.setText(bundle.getString("Username")); // NOI18N jLabel3.setFont(new java.awt.Font("Dialog", 1, 14)); jLabel3.setText(bundle.getString("Password")); // NOI18N usernameField.setFont(new java.awt.Font("Dialog", 0, 14)); passwordField.setFont(new java.awt.Font("Dialog", 0, 14)); loginButton.setFont(new java.awt.Font("Dialog", 1, 14)); loginButton.setText(bundle.getString("Login")); // NOI18N loginButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { loginButtonActionPerformed(evt); } }); cancelButton.setFont(new java.awt.Font("Dialog", 1, 14)); cancelButton.setText(bundle.getString("Cancel")); // NOI18N cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancelButtonActionPerformed(evt); } }); 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(49, 49, 49) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(22, 22, 22) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel3) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(passwordField) .addComponent(usernameField, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(33, 33, 33) .addComponent(loginButton) .addGap(62, 62, 62) .addComponent(cancelButton)))) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 331, Short.MAX_VALUE))) .addContainerGap()) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(usernameField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(passwordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(32, 32, 32) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(cancelButton) .addComponent(loginButton)) .addContainerGap(20, Short.MAX_VALUE)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loginButtonActionPerformed // 在实体管理器里查找用户 // 如果没有得到实体,说明帐号或密码不正确 try{ Query query = em.createQuery("SELECT o FROM Operator o WHERE o.operatorName=:username and o.password=:password"); query.setParameter("username", usernameField.getText()); query.setParameter("password", passwordField.getText()); operator = (Operator) query.getSingleResult(); } catch (NoResultException nre) { JOptionPane.showMessageDialog(this, "你的密码或者帐号不正确!", "错误", JOptionPane.ERROR_MESSAGE); return; } catch (NonUniqueResultException nure) { System.out.print("重复的用户名! "); return; } if (operator != null) { this.passwordField.setText(""); this.dispose(); }}//GEN-LAST:event_loginButtonActionPerformed private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed operator = null; this.dispose();}//GEN-LAST:event_cancelButtonActionPerformed /** * 显示该对话框并返回得到的操作员 * @return 登录的操作员 */ public Operator showDilog() { this.setVisible(true); return operator; } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton cancelButton; private javax.persistence.EntityManager em; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JPanel jPanel1; private javax.swing.JButton loginButton; private javax.swing.JPasswordField passwordField; private javax.swing.JTextField usernameField; // End of variables declaration//GEN-END:variables private Operator operator = null;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -