Eclipse+Java+Swing实现学校教材管理系统,2024年最新阿里+头条+抖音+百度+蚂蚁+京东面经

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import org.jvnet.substance.skin.SubstanceCremeLookAndFeel;

public class Login extends JFrame implements WindowListener, ActionListener, KeyListener {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JButton jButton = null;

private JButton jButton1 = null;

private JLabel jLabel = null;

private JLabel jLabel1 = null;

private JLabel jLabel2 = null;

private JTextField jTextField = null;

private JPasswordField jPasswordField = null;

private Connection connection; // @jve:decl-index=0:

private Statement stmt;

private String username;

private int flag = 0;

/**

  • This is the default constructor

*/

public Login() {

super();

try {

UIManager.setLookAndFeel(new SubstanceCremeLookAndFeel());

} catch (UnsupportedLookAndFeelException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

}

initialize();

Dimension screen = getToolkit().getScreenSize(); // 得到屏幕尺寸

// pack(); //窗口适应组件尺寸

setLocation((screen.width - getWidth()) / 2, (screen.height - getHeight()) / 2);// 使窗口出现在屏幕中间

this.setResizable(false);// 不可缩放~~

this.addWindowListener(this);

connection = DBUtil.getlink();

try {

stmt = connection.createStatement();

} catch (SQLException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

} // 链接数据库

}

/**

  • This method initializes this

  • @return void

*/

private void initialize() {

// 登录窗口大小

this.setSize(500, 308);

this.setContentPane(getJContentPane());

this.setTitle(“欢迎登录教材管理系统”);

}

// 登录函数

private void denglu() {

if (flag > 2) {

jButton.setEnabled(false);

}

this.jLabel.setText(“登录中请稍候。。”);

username = jTextField.getText();

String pwd = String.valueOf(jPasswordField.getPassword());

String yz = new String(“Select username,pswd,yanzheng from login where username='” + username + “'”);

try {

ResultSet result = stmt.executeQuery(yz);

if (result.next()) { // 用户名存在~

if (pwd.equals(result.getString(2))) {

if (result.getString(3).equals(“1”)) { // 验证权限

this.jLabel.setText(" 登录成功");

this.flag = 1; // 若取得数据的第三项是1的话,则把flag设置为1

this.setVisible(false);

XFlashScreen splash = new XFlashScreen();

splash.start(); // 运行启动界面

} else if (result.getString(3).equals(“4”)) { // 验证权限

this.jLabel.setText(" 登录成功");

this.flag = 4; // 若取得数据的第三项是4的话,则把flag设置为4

this.setVisible(false);

}

} else {

this.jLabel.setText(" 密码错误 -_-!");

flag++;

}

} else {

this.jLabel.setText(" 没有此用户 -_-!");

flag++;

}

} catch (SQLException e1) {

e1.printStackTrace();

}

}

/**

  • This method initializes jContentPane

  • @return javax.swing.JPanel

*/

private JPanel getJContentPane() {

if (jContentPane == null) {

jLabel1 = new JLabel();

jLabel1.setBounds(new Rectangle(160, 55, 57, 17));

jLabel1.setText(“账号:”);

jLabel2 = new JLabel();

jLabel2.setBounds(new Rectangle(160, 100, 55, 17));

jLabel2.setText(“密码:”);

jLabel = new JLabel();

jLabel.setBounds(new Rectangle(180, 150, 177, 14));

jLabel.setText("不能尝试超过4次哦~(__) ");

jContentPane = new JPanel();

jContentPane.setLayout(null);

jContentPane.setBackground(new Color(255, 255, 225));

jContentPane.add(getJButton(), null);

jContentPane.add(getJButton1(), null);

jContentPane.add(jLabel, null);

jContentPane.add(jLabel1, null);

jContentPane.add(jLabel2, null);

jContentPane.add(getJTextField(), null);

jContentPane.add(getJPasswordField(), null);

}

return jContentPane;

}

public void windowActivated(WindowEvent arg0) {

}

public void windowClosed(WindowEvent arg0) {

System.exit(0);

}

public void windowClosing(WindowEvent arg0) {

}

public void windowDeactivated(WindowEvent arg0) {

}

public void windowDeiconified(WindowEvent arg0) {

}

public void windowIconified(WindowEvent arg0) {

}

public void windowOpened(WindowEvent arg0) {

}

/**

  • This method initializes jButton

  • @return javax.swing.JButton

*/

private JButton getJButton() {

if (jButton == null) {

jButton = new JButton(new ImageIcon(“./pic/key.gif”));

jButton.setBounds(new Rectangle(120, 180, 83, 25));

// jButton.setFont(new Font(“Dialog”, Font.BOLD, 11));

jButton.setText(“登录”);

jButton.addActionListener(this);

}

return jButton;

}

/**

  • This method initializes jButton1

  • @return javax.swing.JButton

*/

private JButton getJButton1() {

if (jButton1 == null) {

jButton1 = new JButton(new ImageIcon(“./pic/exit.gif”));

jButton1.addActionListener(this);

jButton1.setBounds(new Rectangle(300, 180, 83, 25));

// jButton1.setFont(new Font(“Dialog”, Font.BOLD, 11));

jButton1.setText(“退出”);

}

return jButton1;

}

/**

  • This method initializes jTextField

  • @return javax.swing.JTextField

*/

private JTextField getJTextField() {

if (jTextField == null) {

jTextField = new JTextField();

jTextField.setBounds(new Rectangle(200, 45, 156, 35));

jTextField.addKeyListener(this);

}

return jTextField;

}

/**

  • This method initializes jPasswordField

  • @return javax.swing.JPasswordField

*/

private JPasswordField getJPasswordField() {

if (jPasswordField == null) {

jPasswordField = new JPasswordField();

jPasswordField.setBounds(new Rectangle(200, 90, 156, 35));

jPasswordField.addKeyListener(this);

}

return jPasswordField;

}

public void actionPerformed(ActionEvent e) {

if ((JButton) e.getSource() == jButton1) {

this.dispose();

System.exit(0);

} else if ((JButton) e.getSource() == jButton) {

denglu();

}

}

public void keyPressed(KeyEvent arg0) {

}

public void keyReleased(KeyEvent e) {

if (e.getKeyCode() == KeyEvent.VK_ENTER)/** 判断是否回车 */

denglu();

}

public void keyTyped(KeyEvent arg0) {

}

public static void main(String[] args) {

Login aaa = new Login();

aaa.setVisible(true);

}

}

MyTable.java


package com.sjsq;

import javax.swing.table.AbstractTableModel;

class MyTable extends AbstractTableModel {

Object[][] p = null;

String[] n = null;

MyTable(Object[][] p, String[] n) {

this.p = p;

this.n = n;

}

public int getColumnCount() {

return n.length;

}

public int getRowCount() {

return p.length;

}

public Object getValueAt(int row, int col) {

return p[row][col];

}

public String getColumnName(int col) {

return n[col];

}

public Class getColumnClass(int c) {

return getValueAt(0, c).getClass();

}

public boolean isCellEditable(int row, int col) {

if (col == 0) {

return false;

} else {

return true;

}

}

public void setValueAt(Object value, int row, int col) {

{

p[row][col] = value;

}

}

}

XMainFrame.java


package com.sjsq;

import java.awt.Dimension;

import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

import java.awt.Rectangle;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTabbedPane;

public class XMainFrame extends JFrame implements WindowListener {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JTabbedPane jTabbedPane = null;

XAddForm xaddform;

/**

  • This is the default constructor

*/

public XMainFrame() {

super();

xaddform = new XAddForm();

initialize();

Dimension screen = getToolkit().getScreenSize(); // 得到屏幕尺寸

// pack(); //窗口适应组件尺寸

setLocation((screen.width - 800) / 2, (screen.height - 600) / 2);

}

/**

  • This method initializes this

  • @return void

*/

private void initialize() {

this.setSize(567, 401);

this.setContentPane(getJContentPane());

this.setTitle(“教材管理系统”);

}

/**

  • This method initializes jContentPane

  • @return javax.swing.JPanel

*/

private JPanel getJContentPane() {

if (jContentPane == null) {

GridBagConstraints gridBagConstraints = new GridBagConstraints();

gridBagConstraints.fill = GridBagConstraints.BOTH;

gridBagConstraints.gridwidth = -1;

gridBagConstraints.gridx = 1;

gridBagConstraints.gridy = 1;

gridBagConstraints.ipadx = -5;

gridBagConstraints.ipady = -7;

gridBagConstraints.weightx = 1.0;

gridBagConstraints.weighty = 1.0;

gridBagConstraints.gridheight = -1;

架构学习资料

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

准备两个月,面试五分钟,Java中高级岗面试为何越来越难?

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
.fill = GridBagConstraints.BOTH;

gridBagConstraints.gridwidth = -1;

gridBagConstraints.gridx = 1;

gridBagConstraints.gridy = 1;

gridBagConstraints.ipadx = -5;

gridBagConstraints.ipady = -7;

gridBagConstraints.weightx = 1.0;

gridBagConstraints.weighty = 1.0;

gridBagConstraints.gridheight = -1;

架构学习资料

[外链图片转存中…(img-c3cLdvVS-1713471261055)]

[外链图片转存中…(img-jH1jYdx9-1713471261055)]

[外链图片转存中…(img-CEN7Ifi1-1713471261056)]

[外链图片转存中…(img-OIbutcAR-1713471261056)]

[外链图片转存中…(img-uPXIJav8-1713471261056)]

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-j7mFOcJP-1713471261057)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
员工工资管理系统是一个常见的软件应用程序,可以帮助公司管理员工的基本信息、薪资、考勤、福利等方面的内容。本文将介绍如何使用 Eclipse+Java+Swing+Mysql 实现员工工资管理系统。 步骤1:创建数据库 首先,我们需要在 Mysql 中创建一个名为 salary 的数据库,并在其中创建三个表:employee、salary_record 和 department。 employee 表用于存储员工的基本信息,包括员工编号、姓名、性别、部门编号等字段。salary_record 表用于存储员工的薪资记录,包括员工编号、发放日期、基本工资、奖金、扣款等字段。department 表用于存储部门的基本信息,包括部门编号、部门名称等字段。 步骤2:创建 Java 项目 在 Eclipse 中创建一个新的 Java 项目,命名为 SalaryManagementSystem。在项目中创建三个包:entity、dao 和 view。 entity 包用于存储实体类,包括 Employee、SalaryRecord 和 Department 等类。dao 包用于存储数据访问对象,包括 EmployeeDao、SalaryRecordDao 和 DepartmentDao 等类。view 包用于存储界面类,包括 LoginFrame、MainFrame 和 AddEmployeeFrame 等类。 步骤3:编写实体类 在 entity 包中创建 Employee、SalaryRecord 和 Department 等类,并为每个类添加相应的属性和方法。例如,Employee 类包括员工编号、姓名、性别、所属部门等属性,以及获取和设置这些属性的方法。 步骤4:编写数据访问对象 在 dao 包中创建 EmployeeDao、SalaryRecordDao 和 DepartmentDao 等类,并实现相应的数据访问方法。例如,EmployeeDao 类包括添加员工、删除员工、更新员工信息、查询员工信息等方法。 步骤5:编写界面类 在 view 包中创建 LoginFrame、MainFrame 和 AddEmployeeFrame 等类,并实现相应的界面和事件处理方法。例如,LoginFrame 类用于显示登录界面,并处理用户登录事件;AddEmployeeFrame 类用于显示添加员工界面,并处理添加员工事件。 步骤6:连接数据库 使用 JDBC 连接 Mysql 数据库,为每个数据访问对象创建相应的连接和预编译语句,实现数据库的增删改查操作。 步骤7:测试程序 在 Eclipse 中运行程序,测试各个功能是否正常。例如,登录功能、员工信息查询功能、添加员工功能等。 总结 本文介绍了如何使用 Eclipse+Java+Swing+Mysql 实现员工工资管理系统。通过实现实体类、数据访问对象和界面类等模块,实现对员工信息、薪资、部门信息等数据的管理。这个项目可以作为 Java 开发入门的练手项目,帮助初学者熟悉 Java 开发、Swing 界面设计和 Mysql 数据库操作等技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值