javaGUl编程设计(大学生项目)

实现功能:

 这是一个职工工资查询的程序,要选择“普通员工”,“部门经理”,“系统管理员”对应的业务,然后输入查询的人数,程序比较简单,只是输入相应的金额,然后计算总金额。


下面是实现代码:

其中代码的亮点是empSalray这个二维数组,我们将一维空间的用来存储查询的用户数,二维空间分别存储基本工资,津贴,奖金,月份和总工资。

public class Text3 {
    public double[][] initMutiEmpSal(){     //用户数量
        System.out.println("请输入用户数量:");
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        double[][] empSalary=new double[n][5];
        return empSalary;
    }
    //用户信息
    public String[] initMultiEmoName(double[][] empSalary){
        Scanner sca=new Scanner(System.in);
        String[] empName=new String[empSalary.length];
        for(int i=0;i<empSalary.length;i++){
            System.out.println("请输入第"+(i+1)+"名职工的姓名:");
            empName[i]= sca.next();
            }
        return empName;
        }
        //用下标0~4表示工资,津贴,奖金,月份,总工资
    public double[][] calculateTotaSalary(double[][] empSalary){
        Scanner sc=new Scanner(System.in);
        int i,j;
        for(i=0;i<empSalary.length;i++){
            System.out.println("请输入"+(i+1)+"名职工的基本工资,津贴,奖金:");
            for (j=0;j<empSalary[i].length-2;j++){
            empSalary[i][j]=sc.nextDouble();
            }
            System.out.println("请输入统计时间(以月为单位):");
            empSalary[i][j]=sc.nextInt();
        }
        for(i=0;i<empSalary.length;i++){
            empSalary[i][4]=empSalary[i][0]*empSalary[i][3]+empSalary[i][1]*empSalary[i][3]+empSalary[i][2];
        }
return empSalary;
    }
    //工资展现
    public void showTotalSalary(String[] useName,double[][] emSalary){
        int i,j;
        System.out.println("职工名\t基本工资\t津贴\t统计月份\t总工资");
        for(i=0;i< useName.length;i++){
            System.out.print(useName[i]+"\t");
            for (j=0;j<emSalary[0].length;j++)
                System.out.print(emSalary[i][j]+"\t");
            System.out.println();
        }
    }
    public static void main(String[] args) {
        Text3 multiEmpSalaryCal=new Text3();
        System.out.println("欢迎使用职工工资计算工具");
        double[][] empSalary=multiEmpSalaryCal.initMutiEmpSal();
        String[] useName=multiEmpSalaryCal.initMultiEmoName(empSalary);
        empSalary=multiEmpSalaryCal.calculateTotaSalary(empSalary);
        multiEmpSalaryCal.showTotalSalary(useName,empSalary);
    }
    }

效果:

 


GUl实现功能:

public class Text3GUI {
    public static void main(String[] args) {
        Menu1 menu=new Menu1();
        menu.windows();
    }
}

class Menu1 extends JFrame {
    public void windows(){
        JFrame jFrame=new JFrame("职工服务");
        jFrame.setVisible(true);
        jFrame.setBounds(400,300,500,400);
        JPanel jPanel=new JPanel(null);
        jPanel.setBorder(new TitledBorder("请选择服务类型"));
        //普通职工
        ImageIcon icon=new ImageIcon("src/timthumb.jpg");
        Image temp=icon.getImage().getScaledInstance(120,100,0);
        icon=new ImageIcon(temp);
        JButton jButton=new JButton("普通职工",icon);
        jButton.setBounds(50,150,100,100);
        JLabel jLabel=new JLabel("普通职工");
        jLabel.setForeground(Color.cyan);
        jButton.add(jLabel);
        jButton.addActionListener(new ActionListener() {  //添加事件
            @Override
            public void actionPerformed(ActionEvent e) {
                new jdialog5();
            }
        });

        //部门经理
        ImageIcon icon1=new ImageIcon("src/jl.jpg");
        Image temp1=icon1.getImage().getScaledInstance(120,100,0);
        icon1=new ImageIcon(temp1);
        JButton jButton1=new JButton("部门经理",icon1);
        jButton1.setBounds(200,150,100,100);
        JLabel jLabel1=new JLabel("部门经理");
        jLabel1.setForeground(Color.RED);
        jButton1.add(jLabel1);
        jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new jdialog4();
            }
        });

//系统管理员
        ImageIcon icon2=new ImageIcon("src/xt.jpg");
        Image temp2=icon2.getImage().getScaledInstance(120,100,0);
        icon2=new ImageIcon(temp2);
        JButton jButton2=new JButton("系统管理员",icon2);
        jButton2.setBounds(350,150,100,100);
        JLabel jLabel2=new JLabel("系统管理员");
        jLabel2.setForeground(Color.ORANGE);
        jButton2.add(jLabel2);
        jButton2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new jdialog3();
            }
        });

        jPanel.add(jButton);
        jPanel.add(jButton1);
        jPanel.add(jButton2);
        jFrame.add(jPanel);
        jFrame.setResizable(false);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

//事件1
class jdialog5{
    public jdialog5(){
        String n=JOptionPane.showInputDialog("请输入人数");
        int m=Integer.parseInt(n);
        new module(m);
    }
}
//事件2
class jdialog4 {
    public jdialog4(){
        String n=JOptionPane.showInputDialog("请输入人数");
        int m=Integer.parseInt(n);
        new module(m);
    }
}
//事件3
class jdialog3{
    public jdialog3(){
     String n=JOptionPane.showInputDialog("请输入人数");
     int m=Integer.parseInt(n);
     new module(m);
    }
}

//功能模块
class module extends JFrame {
    public module(int m) {   //出初始化窗口
        for (int i = 0; i < m; i++) {
            JFrame jFrame = new JFrame();
            jFrame.setVisible(true);
            jFrame.setTitle("工资查询");
            jFrame.setResizable(false);
            Container container = getContentPane();
            jFrame.setBounds(600, 500, 300, 230);
            jFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            JPanel panel = new JPanel();
            JLabel jLabel = new JLabel("姓名:");
            JTextField jTextField = new JTextField("", 20);
            JLabel jLabel1 = new JLabel("基础工资:");
            JTextField jTextField1 = new JTextField("", 18);
            JLabel jLabel2 = new JLabel("津贴:");
            JTextField jTextField2 = new JTextField("", 20);
            JLabel jLabel3 = new JLabel("奖金:");
            JTextField jTextField3 = new JTextField("", 20);
            JLabel jLabel5=new JLabel("月数:");
            JTextField jTextField5=new JTextField("",20);
            JLabel jLabel4 = new JLabel("总工资:");
            JTextField jTextField4 = new JTextField("", 19);
            //按钮模块
            JButton jButton = new JButton("确定");

            jButton.addActionListener(new actionLister(jTextField1,jTextField2,jTextField3,jTextField4,jTextField5));

            //添加
            panel.add(jLabel);
            panel.add(jTextField);
            panel.add(jLabel1);
            panel.add(jTextField1);
            panel.add(jLabel2);
            panel.add(jTextField2);
            panel.add(jLabel3);
            panel.add(jTextField3);
            panel.add(jLabel5);
            panel.add(jTextField5);
            panel.add(jLabel4);
            panel.add(jTextField4);
            panel.add(jButton);
            jFrame.add(panel);
        }
    }
    //工资求和方法
    static class actionLister implements ActionListener {
        JTextField j=null;
        JTextField j1=null;
        JTextField j2=null;
        JTextField j3=null;
        JTextField j4=null;
        public  actionLister(JTextField jTextField1,JTextField jTextField2,JTextField jTextField3,JTextField jTextField4,JTextField jTextField5){
            j=jTextField1;
            j1=jTextField2;
            j2=jTextField3;
            j3=jTextField4;
            j4=jTextField5;
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            String s=j.getText();
            String s1=j1.getText();
            String s2=j2.getText();
            String s3=j4.getText();
           int a=Integer.parseInt(s);
            int b=Integer.parseInt(s1);
            int c=Integer.parseInt(s2);
            int d=Integer.parseInt(s3);
            j3.setText(Integer.toString(a*d+b*d+c));
        }
    }
}

效果:

 代码不是很精简!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前段被迫创业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值