package com.salary.frame;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import com.salary.dao.EmployeeDAO;
import com.salary.dao.SalaryDAO;
import com.salary.util.SalaryUtil;
import com.salary.util.SystemConstants;
/**
* 编辑工资条
*
* @author 专治八阿哥的孟老师
*/
public class SalaryEditPanel extends JInternalFrame {
public SalaryEditPanel() {
super("编辑工资条", true, true, true, true);
this.setSize(SystemConstants.FRAME_WIDTH, SystemConstants.FRAME_HEIGHT);
JTable table = new JTable() {
public boolean isCellEditable(int row, int column) {
return false;
}
};
// 查询所有数据并显示到表格里
TableModel tableModel = new DefaultTableModel(new Object[0][SalaryDAO.columnNames.length],
SalaryDAO.columnNames);
table.setModel(tableModel);
// 顶部操作栏
JPanel topPanel = new JPanel(new GridLayout(2, 1));
// 查询条件,要查哪一列,需要和DAO中的columnNames字段顺序对应
JPanel panel1 = new JPanel();
panel1.add(new JLabel("工号"));
JTextField textField = new JTextField(5);
panel1.add(textField);
JButton searchBtn = new JButton("查询");
panel1.add(searchBtn);
JLabel label = new JLabel("员工信息:");
panel1.add(label);
JPanel panel2 = new JPanel();
panel2.add(new JLabel("时间"));
JTextField textField0 = new JTextField(5);
panel2.add(textField0);
panel2.add(new JLabel("基本工资"));
JTextField textField1 = new JTextField(5);
panel2.add(textField1);
panel2.add(new JLabel("绩效工资"));
JTextField textField2 = new JTextField(5);
panel2.add(textField2);
panel2.add(new JLabel("福利补贴"));
JTextField textField3 = new JTextField(5);
panel2.add(textField3);
panel2.add(new JLabel("请假天数"));
JTextField textField4 = new JTextField(5);
panel2.add(textField4);
JButton calBtn = new JButton("计算");
panel2.add(calBtn);
JButton addBtn = new JButton("提交");
panel2.add(addBtn);
topPanel.add(panel1);
topPanel.add(panel2);
JPanel panel = new JPanel(new BorderLayout());
panel.setSize(SystemConstants.FRAME_WIDTH, SystemConstants.FRAME_HEIGHT);
Object[] salary = new Object[SalaryDAO.columnNames.length];
// 点击查询按钮的事件
searchBtn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Object[] emp = EmployeeDAO.findById(textField.getText());
salary[0] = emp[0];
salary[1] = emp[1];
label.setText("员工信息:" + emp[1] + " " + emp[2] + " " + emp[3] + " " + emp[4] + " ");
}
});
calBtn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
double[] result = SalaryUtil.salary(new Double(textField1.getText()), new Double(textField2.getText()),
new Double(textField3.getText()), new Double(textField4.getText()));
salary[2] = textField0.getText();
for (int i = 0; i < result.length; i++) {
salary[i + 3] = result[i];
}
TableModel tableModel = new DefaultTableModel(
// "工号", "姓名", "年/月", "基本工资", "绩效工资", "福利补贴", "应发工资",
// "请假天数", "考勤扣除",
// "五险一金", "个税", "应扣", "实发"
new Object[][] { salary }, SalaryDAO.columnNames);
table.setModel(tableModel);
}
});
addBtn.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
SalaryDAO.add(salary);
TreasurerPanel.setContent(new TreasureSalaryPanel());
}
});
// 把 表头 添加到容器顶部(使用普通的中间容器添加表格时,表头 和 内容 需要分开添加)
panel.add(table.getTableHeader(), BorderLayout.NORTH);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // 单选
// 把 表格内容 添加到容器中心
this.add(topPanel, BorderLayout.NORTH);
panel.add(table, BorderLayout.CENTER);
this.add(panel, BorderLayout.CENTER);
// 显示内部窗口
this.setVisible(true);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目介绍 https://blog.csdn.net/u011731544/article/details/132684040 功能描述: 系统员工有"工号"、 “姓名”、“性别”、“岗位”、 "入职年份 "、"密码"等属性; 员工使用工号+密码登录系统; 所有用户都有修改密码功能; 管理员和财务是两个特殊岗位,管理员登录后可添加员工;财务登录后可查看所有员工工资条,录入工资条; 普通员工登录后只能查看自己的工资条; 财务录入工资条时,输入基本工资、绩效工资、福利补贴、请假天数后,自动计算出应发、应扣、实发;五险一金及个人所得税计算方法可根据当地政策自行调整; 系统可以使用Java集合存储数据,也可以使用MySQL数据库。 这个是不含数据库的版本,数据库版本见https://download.csdn.net/download/u011731544/88301209
资源推荐
资源详情
资源评论
收起资源包目录
Swing-员工工资管理(静态版).zip (17个子文件)
salary-demo
src
com
salary
dao
SalaryDAO.java 2KB
EmployeeDAO.java 3KB
pojo
User.java 799B
util
SalaryUtil.java 2KB
SystemConstants.java 263B
frame
TreasurerPanel.java 3KB
EmployeeEditPanel.java 4KB
TreasureSalaryPanel.java 3KB
LoginPanel.java 2KB
AdminPanel.java 2KB
PasswordPanel.java 1KB
MainFrame.java 828B
EmployeePanel.java 2KB
SalaryEditPanel.java 4KB
EmployeeTablePanel.java 4KB
EmployeeSalaryPanel.java 3KB
扫码关注.png 1.06MB
共 17 条
- 1
资源评论
专治八阿哥的孟老师
- 粉丝: 2509
- 资源: 114
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功