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 + -
显示快捷键?