operatorediter.java.svn-base
来自「Store Manager」· SVN-BASE 代码 · 共 302 行
SVN-BASE
302 行
/* * OperatorEditer.java * * Created on 2007年6月3日, 下午6:21 */package com.studio009.store.ui;import com.studio009.store.StoreApp;import com.studio009.store.entity.Operator;import javax.beans.binding.BindingContext;import javax.persistence.EntityManager;import javax.swing.JOptionPane;/** * 操作员编辑对话框 * <p> * "admin"为默认的管理员,不能删除,不能更改组权限,<br /> * 避免所以的管理员都成为普通操作员,丧失软件功能的弊端. * </p> * @see Operator * @author wangs */public class OperatorEditer extends javax.swing.JDialog { /** Creates new form OperatorEditer * @param parent 父窗口 * @param operatorName 操作员姓名 * @param modal 模式 */ public OperatorEditer(java.awt.Dialog parent, String operatorName, boolean modal) { super(parent, java.awt.Dialog.ModalityType.APPLICATION_MODAL); initComponents(); // 初始化operator em = StoreApp.getEntityManagerFactory().createEntityManager(); if (operatorName == null) operatorName = ""; operator = em.find(Operator.class, operatorName); if (operator == null) { operator = new Operator(); operator.setOperatorType("operator"); em.persist(operator); jTextField1.setEditable(true); this.setTitle("新建操作员"); } //bind the operator to the dialog BindingContext bindingContext = new BindingContext(); bindingContext.addBinding(operator, "${operatorName}", jTextField1, "text"); bindingContext.addBinding(operator, "${operatorType}", jComboBox1, "model.selectedItem"); bindingContext.addBinding(operator, "${operatorDuty}", jTextField3, "text"); bindingContext.addBinding(operator, "${operatorPhone}", jTextField5, "text"); bindingContext.addBinding(operator, "${operatorAddress}", jTextField6, "text"); bindingContext.addBinding(operator, "${password}", jPasswordField1, "text"); bindingContext.addBinding(operator, "${operatorNote}", jTextArea1, "text"); bindingContext.bind(); // 打开实体管理器的事务 em.getTransaction().begin(); //设置对话框居中 this.setLocationRelativeTo(parent); } public Operator getOperator() { return operator; } /** 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() { okButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jTextField3 = new javax.swing.JTextField(); jPasswordField1 = new javax.swing.JPasswordField(); jTextField1 = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jTextField5 = new javax.swing.JTextField(); jComboBox1 = new javax.swing.JComboBox(); jTextField6 = new javax.swing.JTextField(); jScrollPane2 = new javax.swing.JScrollPane(); jTextArea1 = new javax.swing.JTextArea(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("\u7f16\u8f91\u64cd\u4f5c\u5458\u4fe1\u606f"); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosed(java.awt.event.WindowEvent evt) { formWindowClosed(evt); } }); okButton.setText("\u786e\u5b9a"); okButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { okButtonActionPerformed(evt); } }); cancelButton.setText("\u53d6\u6d88"); cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancelButtonActionPerformed(evt); } }); jLabel1.setText("\u59d3\u540d:"); jLabel2.setText("\u5bc6\u7801:"); jLabel8.setText("\u804c\u52a1:"); jLabel7.setText("\u5907\u6ce8:"); jTextField1.setEditable(false); jLabel4.setText("\u6743\u9650:"); jLabel5.setText("\u7535\u8bdd:"); jLabel6.setText("\u4f4f\u5740:"); jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "admin", "operator" })); jComboBox1.setToolTipText("Click to change the operator type"); jComboBox1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jComboBox1ActionPerformed(evt); } }); jTextArea1.setColumns(20); jTextArea1.setRows(3); jScrollPane2.setViewportView(jTextArea1); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(36, 36, 36) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel1) .addComponent(jLabel2) .addComponent(jLabel8) .addComponent(jLabel7)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jScrollPane2) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jTextField3) .addComponent(jPasswordField1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(70, 70, 70) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel4) .addComponent(jLabel5) .addComponent(jLabel6)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jTextField6) .addComponent(jTextField5) .addComponent(jComboBox1, 0, 187, Short.MAX_VALUE)))) .addContainerGap(46, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4) .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel5)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel8) .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel6)) .addGap(18, 18, 18) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel7)) .addContainerGap(21, 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(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(40, 40, 40) .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(55, 55, 55)))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(25, 25, 25)) ); pack(); }// </editor-fold>//GEN-END:initComponents private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed if (em.isOpen()) em.close();}//GEN-LAST:event_formWindowClosedprivate void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed operator.setOperatorType((String)jComboBox1.getSelectedItem());}//GEN-LAST:event_jComboBox1ActionPerformedprivate void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed this.dispose();}//GEN-LAST:event_cancelButtonActionPerformed private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed if (operator.getOperatorName() == null || operator.getOperatorName().isEmpty()) { JOptionPane.showMessageDialog(this, "操作员姓名不能为空!", "错误", JOptionPane.ERROR_MESSAGE); return; } if (operator.getPassword() == null || operator.getPassword().isEmpty()) { JOptionPane.showMessageDialog(this, "密码不能为空!", "错误", JOptionPane.ERROR_MESSAGE); return; } if (operator.getOperatorType() == null || operator.getOperatorType().isEmpty()) { JOptionPane.showMessageDialog(this, "权限不能为空!", "错误", JOptionPane.ERROR_MESSAGE); return; } if (operator.getOperatorName().equals("admin") && !operator.getOperatorType().equals("admin")) { JOptionPane.showMessageDialog(this, "该用户为默认管理员, 不能更改权限!"); return; } try{ em.getTransaction().commit(); } catch (Exception e) { JOptionPane.showMessageDialog(this, "该用户已存在!"); //em.getTransaction().rollback(); em.getTransaction().begin(); } this.dispose();}//GEN-LAST:event_okButtonActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton cancelButton; private javax.swing.JComboBox jComboBox1; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JPanel jPanel1; private javax.swing.JPasswordField jPasswordField1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JTextArea jTextArea1; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField3; private javax.swing.JTextField jTextField5; private javax.swing.JTextField jTextField6; private javax.swing.JButton okButton; // End of variables declaration//GEN-END:variables private EntityManager em; private Operator operator;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?