Eclipse+Java+Swing实现学校教材管理系统,35岁程序员半月4轮面试正常吗

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

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

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

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

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

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

正文

三、部分代码

=====================================================================

DBUtil.java


package com.sjsq;

/**

  • 此类用以载入数据库

  • @author 郑伟

  • */

import java.sql.Connection;

import java.sql.DriverManager;

import javax.swing.JOptionPane;

public class DBUtil {

// 数据库驱动名

private static String DriverName = “com.mysql.cj.jdbc.Driver”;

// 数据库协议

private static String dbUril = “jdbc:mysql://localhost:3306/teachbook_management_swing?serverTimezone=UTC”;

// 数据库用户名

private static String dbName = “root”;

// 数据库密码

private static String dbPassword = “admin”;

public static Connection getlink() {

try {

Class.forName(DriverName);

System.out.println(“正在加载…”);

Connection connection = DriverManager.getConnection(dbUril, dbName, dbPassword);

System.out.println(“连接成功!”);

// ResultSet rs = stmt.executeQuery(sql);

return connection;

} catch (Exception e) {

JOptionPane.showMessageDialog(null, “数据库链接失败!”, “警告”, JOptionPane.ERROR_MESSAGE);

System.out.println(“连接失败”);

e.printStackTrace();

return null;

}

}

public static void main(String args[]) {

getlink();

}

}

Login.java


package com.sjsq;

/**

  • 此类为登录窗口类

  • 由Visual Editor 生成

  • @author 郑伟

  • @author shuijianshiqing

  • @date 2020-12-30

  • */

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Rectangle;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

import java.sql.Connection;

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) {

最后

按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。

学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。

道路是曲折的,前途是光明的!”

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

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

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

最后

按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。

学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。

道路是曲折的,前途是光明的!”

[外链图片转存中…(img-1i7wuC33-1713383898170)]

[外链图片转存中…(img-nSNkW3Vg-1713383898170)]

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值