先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
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);
}
}
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;
}
}
}
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;
架构学习资料
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!