⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editeframe.java

📁 员工管理系统 在一个公司里员工之间都有工作上的联系。对方的联系方式
💻 JAVA
字号:
package com.worker.table;

import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import java.awt.datatransfer.*;
import java.io.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.util.*;
import java.sql.*;
import javax.swing.table.*;
import java.lang.*;

import com.tool.*;
import com.worker.db.*;
import com.worker.information.*;
import com.worker.main.*;
import com.worker.table.*;
import com.worker.userpan.*;
/**
 *
 * @author Administrator
 */
public class EditeFrame extends JPanel {
    private DbCon dbcon;
    private ManageCommunication mC;
    private HashMap fields;
    // panels to organize GUI
    private JPanel leftPanel, rightPanel;
    private JPanel bottonP;
    public static final String workerID="编号", name = "姓名",
            sex = "性别", age = "年龄",
            position = "职务", cellphone = "手机", salary = "薪水",
            userl = "帐号", userp = "密码", classify = "权限";
    
    /** Creates a new instance of EditeFrame */
    public EditeFrame() {
        dbcon=DbCon.getinstance();
        createpan();
        clearT();
    }
    
    private void createpan() {
        fields = new HashMap();
        leftPanel = new JPanel();
        leftPanel.setLayout( new GridLayout( 10, 1, 2, 2 ) );
        rightPanel = new JPanel();
        rightPanel.setLayout( new GridLayout( 10, 1, 2, 2 ) );
        createRow(workerID);
        JTextField idF=(JTextField)fields.get(workerID);
        idF.setEditable(false);
        createRow(name);
        createRow(sex);
        createRow(age);
        createRow(position);
        createRow(cellphone);
        createRow(salary);
        createRow(userl);
        createRow(userp);
        createRow(classify);
        
        add( leftPanel, BorderLayout.WEST );
        add( rightPanel, BorderLayout.EAST );
        
        bottonP=new JPanel();
        bottonP.setLayout(new GridLayout(2,2,2,2));
        
        JButton refB = new JButton("更新");
        refB.addActionListener( new ActionListener( ) {
            public void actionPerformed( final ActionEvent ae ) {
                updateW(); }
        } ) ;
        
        JButton  insB= new JButton("添加");
        insB.addActionListener( new ActionListener( ) {
            public void actionPerformed( final ActionEvent ae ) {
                insertW(); }
        } ) ;
        
        JButton cleB = new JButton("重置");
        cleB.addActionListener( new ActionListener( ) {
            public void actionPerformed( final ActionEvent ae ) {
                clearT(); }
        } ) ;
        
        JButton delB = new JButton("删除");
        delB.addActionListener( new ActionListener( ) {
            public void actionPerformed( final ActionEvent ae ) {
                deleteW(); }
        } ) ;
        
        bottonP.add(refB);
        bottonP.add(insB);
        bottonP.add(cleB);
        bottonP.add(delB);
        
        add(bottonP,BorderLayout.SOUTH);
    }
    // set Worker then use its properties to
    // place data in each JTextField
    
    public void setTexAb(String va,boolean bool) {
        
        JTextField textA =( JTextField ) fields.get( va );
        textA.setEditable(bool);
    }
    
    public void setBotAb(boolean refA,boolean insA,boolean cleA,boolean delA) {
        bottonP.getComponent(0).setEnabled(refA);
        bottonP.getComponent(1).setEnabled(insA);
        bottonP.getComponent(2).setEnabled(cleA);
        bottonP.getComponent(3).setEnabled(delA);
    }
    
    public void setUIFromWorker( Worker wo ) {
        setField(workerID,String.valueOf(wo.getID()) );
        setField(name,wo.getname());
        setField(sex,wo.getsex());
        setField( age,String.valueOf(wo.getage()) );
        setField(position,wo.getposition());
        setField(cellphone,wo.getcellphone());
        setField(salary,String.valueOf(wo.getsalary()) );
        setField(userl,wo.getuserl());
        setField(userp,wo.getuserp());
        setField(classify,String.valueOf(wo.getclassify()));
    }
    
    // store AddressBookEntry data from GUI and return
    // AddressBookEntry
    public Worker getWorkerFromUI() {
        Worker wo=new Worker();
        wo.setID(Integer.parseInt(getField(workerID)) );
        wo.setname(getField(name));
        wo.setsex(getField(sex));
        wo.setage(Integer.parseInt(getField(age)));
        wo.setposition(getField(position));
        wo.setcellphone(getField(cellphone));
        wo.setsalary(Integer.parseInt(getField(salary)));
        wo.setuserl(getField(userl));
        wo.setuserp(getField(userp));
        wo.setclassify(Integer.parseInt(getField(classify)));
        return wo;
    }
    
    // set text in JTextField by specifying field's
    // name and value
    private void setField( String fieldName, String value ) {
        JTextField field =
                ( JTextField ) fields.get( fieldName );
        
        field.setText( value );
    }
    
    // get text in JTextField by specifying field's name
    private String getField( String fieldName ) {
        JTextField field =
                ( JTextField ) fields.get( fieldName );
        
        return field.getText();
    }
    // utility method used by constructor to create one row in
    // GUI containing JLabel and JTextField
    private void createRow( String nameC ) {
        JLabel label = new JLabel( nameC, SwingConstants.CENTER );
        label.setBorder(BorderFactory.createEmptyBorder(2,1,2,1) );
        leftPanel.add( label );
        
        JTextField field = new JTextField(11);
        rightPanel.add( field );
        
        fields.put( nameC, field );
    }
    
    private boolean checkAvailable() {
        ToolKit tK=new ToolKit();
        if (tK.isNull(getField(userl)) ) return false;
        if (tK.isNull(getField(userp)) ) return false;
        if (tK.isNull(getField(classify)) ) return false;
        if (!tK.isInt(getField(classify)) ) return false;
        if (!tK.isInt(getField(age)) ) return false;
        if (!tK.isInt(getField(salary)) ) return false;
        return true;
    }
    
    private void clearT() {
        setUIFromWorker(new Worker());
    }
    //更新面板
    public void upUI() {
        int rowAt=mC.gettablestr().getPreId();
        if (rowAt==-1) {
            clearT();
            return;
        }
        setUIFromWorker(dbcon.findWorker(rowAt));
    }
    //更改数据
    public void updateW() {
        if (!checkAvailable()) {
            JOptionPane.showMessageDialog(null, " 必须输入:系统帐号,系统密码,权限;并且工资与年龄必须为整数 ", " 错误 " , JOptionPane.ERROR_MESSAGE);
            return;
        }
        if (Integer.parseInt(getField(workerID))==-1) {
            JOptionPane.showMessageDialog(null, " 无法更新,当前用户不存在 ", " 错误 " , JOptionPane.ERROR_MESSAGE);
            return;
        }
        dbcon.updateWorker(getWorkerFromUI());
        this.upUI();
        mC.getdatatable().upTableUI();
    }
    //插入员工
    public void insertW() {
        if (!checkAvailable()) {
            JOptionPane.showMessageDialog(null, " 必须输入:系统帐号,系统密码,权限;并且工资与年龄必须为整数 ", " 错误 " , JOptionPane.ERROR_MESSAGE);
            return;
        }
        dbcon.insertWorker(getWorkerFromUI());
        this.upUI();
        mC.getdatatable().upTableUI();
    }
    //删除员工
    public void deleteW() {
        if (Integer.parseInt(getField(workerID))==-1) {
            JOptionPane.showMessageDialog(null, " 当前没有选择任何员工 ", " 错误 " , JOptionPane.ERROR_MESSAGE);
            return;
        }
        dbcon.deleteWorker(Integer.parseInt(getField(workerID)));
        mC.getdatatable().upTableUI();
        this.upUI();
    }
    
    public void setmanagecommunication(ManageCommunication va) {
        mC=va;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -