Logo



教育培训系统源码java(培训管理系统源码)

本文目录一览:

谁有Java实现的学生信息管理系统源码

可以试试看啊

以下方法实现了用户界面登陆

import java.awt.*;

import java.awt.event.*;

public class DengLuJieMian extends Frame implements ActionListener

Label username=new Label("用户名:");//使用文本创建一个用户名标签

TextField t1=new TextField();//创建一个文本框对象

Label password=new Label("密码:");//创建一个密码标签

TextField t2=new TextField();

Button b1=new Button("登陆");//创建登陆按钮

Button b2=new Button("取消");//创建取消按钮

public DengLuJieMian()

this.setTitle("学生信息管理系统");//设置窗口标题

this.setLayout(null);//设置窗口布局管理器

username.setBounds(50,40,60,20);//设置姓名标签的初始位置

this.add(username);// 将姓名标签组件添加到容器

t1.setBounds(120,40,80,20);// 设置文本框的初始位置

this.add(t1);// 将文本框组件添加到容器

password.setBounds(50,100,60,20);//密码标签的初始位置

this.add(password);//将密码标签组件添加到容器

t2.setBounds(120,100,80,20);//设置密码标签的初始位置

this.add(t2);//将密码标签组件添加到容器

b1.setBounds(50,150,60,20);//设置登陆按钮的初始位置

this.add(b1);//将登陆按钮组件添加到容器

b2.setBounds(120,150,60,20);//设置取消按钮的初始位置

this.add(b2);// 将取消按钮组件添加到容器

b1.addActionListener(this);//给登陆按钮添加监听器

b2.addActionListener(this);// 给取消按钮添加监听器

this.setVisible(true);//设置窗口的可见性

this.setSize(300,200);//设置窗口的大小

addWindowListener(new WindowAdapter()

public void windowClosing(WindowEvent e)

System.exit(0);

});//通过内部类重写关闭窗体的方法

public void actionPerformed(ActionEvent e)

if(e.getSource()==b1)//处理登陆事件

String name=t1.getText();

String pass=t2.getText();

if(name!=nullpass.equals("000123"))//判断语句

new StudentJieMian();

public static void main(String args[])//主函数

new DengLuJieMian();

以下方法实现了学生界面设计

import java.awt.*;

import java.awt.event.*;

class StudentJieMian extends Frame implements ActionListener

MenuBar m=new MenuBar();//创建菜单栏

Menu m1=new Menu("信息");//创建菜单“信息”

MenuItem m11=new MenuItem("插入");//创建“插入”的菜单项

MenuItem m12=new MenuItem("查询");

Menu m2=new Menu("成绩");//创建菜单“成绩”

MenuItem m21=new MenuItem("查询");

public StudentJieMian()

this.setTitle("学生界面");//设置窗口标题

this.setLayout(new CardLayout());//设置窗口布局管理器

this.setMenuBar(m);//将菜单栏组件添加到容器

m.add(m1);//将信息菜单放入菜单栏

m.add(m2);

m1.add(m11);//将“插入”菜单项添加到“信息”菜单

m1.add(m12); //将“查询”菜单项添加到“信息”菜单

m2.add(m21); //将“查询”菜单项添加到“成绩”菜单

m11.addActionListener(this); //给“插入”菜单项添加监听器

m12.addActionListener(this); //给“查询”菜单项添加监听器

m21.addActionListener(this); //给“查询”菜单项添加监听器

this.setVisible(true); //设置窗口的可见性

this.setSize(300,200); //设置窗口的大小

addWindowListener(new WindowAdapter()

public void windowClosing(WindowEvent e)

System.exit(0);//关闭窗口

public void actionPerformed(ActionEvent e)

if(e.getSource()==m11) //处理“添加信息”事件

new AddStudent();

if(e.getSource()==m12) //处理“查询信息”事件

new SelectStudent();

if(e.getSource()==m21) //处理“查询成绩”事件

new ChengJiStudent();

public static void main(String args[])

急求java学生信息管理系统源代码,带有连接数据库的,万分感谢

import java.awt.BorderLayout;

import java.awt.CardLayout;

import java.awt.Container;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.Icon;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JToolBar;

import javax.swing.SwingConstants;

public class MainFrame extends JFrame implements ActionListener{

InsertPanel ip = null;

SelectPanel sp = null;

JPanel pframe;

JButton jb1,jb2,jb3;

JMenuItem jm11,jm21,jm22,jm23,jm31,jm32,jm41,jm42;

CardLayout clayout;

public MainFrame(String s){

super(s);

JMenuBar mb = new JMenuBar();

this.setJMenuBar(mb);

JMenu m1 = new JMenu("系统");

JMenu m2 = new JMenu("基本信息");

JMenu m3 = new JMenu("成绩");

JMenu m4 = new JMenu("奖惩");

mb.add(m1);

mb.add(m2);

mb.add(m3);

mb.add(m4);

jm11 = new JMenuItem("退出系统");

jm21 = new JMenuItem("输入");

jm22 = new JMenuItem("查询");

jm23 = new JMenuItem("更改");

jm31 = new JMenuItem("输入成绩");

jm32 = new JMenuItem("查询成绩");

jm41 = new JMenuItem("奖励");

jm42 = new JMenuItem("处分");

m1.add(jm11);

m2.add(jm21);

m2.add(jm22);

m2.add(jm23);

m3.add(jm31);

m3.add(jm32);

m4.add(jm41);

m4.add(jm42);

Icon i1 = new ImageIcon();

Icon i2 = new ImageIcon();

Icon i3 = new ImageIcon();

jb1 = new JButton(i1);

jb1.setToolTipText("输入");

jb2 = new JButton(i2);

jb2.setToolTipText("查询");

jb3 = new JButton(i3);

jb3.setToolTipText("退出");

JToolBar tb = new JToolBar("系统工具");

tb.add(jb1);

tb.add(jb2);

tb.add(jb3);

add(tb,BorderLayout.NORTH);

jm11.addActionListener(this);

jm21.addActionListener(this);

jm22.addActionListener(this);

jb1.addActionListener(this);

jb2.addActionListener(this);

jb3.addActionListener(this);

clayout = new CardLayout();

pframe = new JPanel(clayout);

add(pframe);

JPanel mainp = new JPanel(new BorderLayout());

JLabel mainl = new JLabel("学生信息管理平台",SwingConstants.CENTER);

mainl.setFont(new Font("serif",Font.BOLD,30));

mainp.add(mainl);

pframe.add(mainp,"main");

clayout.show(pframe, "main");

public void actionPerformed(ActionEvent e){

if(e.getSource() == jm21 || e.getSource() == jb1){

if(ip == null){

ip= new InsertPanel();

pframe.add(ip,"insert");

clayout.show(pframe, "insert");

this.setTitle("输入学生信息");

else if(e.getSource() == jm22 || e.getSource() == jb2){

if(sp == null){

sp= new SelectPanel();

pframe.add(sp,"select");

clayout.show(pframe, "select");

this.setTitle("查询学生信息");

else if(e.getSource() == jm11 || e.getSource() == jb3){

System.exit(0);

第二个:

import javax.swing.JFrame;

public class MainTest {

public static void main(String [] args){

MainFrame f = new MainFrame("学生信息管理平台");

f.setSize(400,300);

f.setLocation(350,250);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setVisible(true);

第二个:

import java.sql.Connection;

import java.sql.DriverManager;

public class MySQLConnection {

static Connection getCon(){

Connection con = null;

try{

Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","123");

catch(Exception e){

System.out.println("建立数据库连接遇到异常!");

return con;

第四个:

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

public class SelectPanel extends JPanel implements ActionListener{

JButton jb;

JTextField jt;

JTextField jt1,jt2,jt3,jt4;

public SelectPanel(){

JLabel jl = new JLabel("请输入学号:",SwingConstants.CENTER);

jt = new JTextField();

jb = new JButton("确定");

JPanel jp1 = new JPanel(new GridLayout(1,3));

jp1.add(jl);

jp1.add(jt);

jp1.add(jb);

JLabel j1,j2,j3,j4;

j1 = new JLabel("学号:",SwingConstants.CENTER);

j2 = new JLabel("姓名:",SwingConstants.CENTER);

j3 = new JLabel("性别:",SwingConstants.CENTER);

j4 = new JLabel("年龄:",SwingConstants.CENTER);

jt1 = new JTextField(6);

jt1.setEditable(false);

jt2 = new JTextField(6);

jt2.setEditable(false);

jt3 = new JTextField(6);

jt3.setEditable(false);

jt4 = new JTextField(6);

jt4.setEditable(false);

JPanel jp2 = new JPanel(new BorderLayout());

JPanel jp3 = new JPanel(new GridLayout(4,2));

jp2.add(new JLabel(""),BorderLayout.NORTH);

jp3.add(j1);

jp3.add(jt1);

jp3.add(j2);

jp3.add(jt2);

jp3.add(j3);

jp3.add(jt3);

jp3.add(j4);

jp3.add(jt4);

jp2.add(jp3);

this.setLayout(new BorderLayout());

add(jp1,BorderLayout.NORTH);

add(jp2);

jb.addActionListener(this);

public void actionPerformed(ActionEvent e){

if(e.getSource() == jb){

String stuNo = jt.getText().trim();

Student s = new Student();

boolean b = true;

try{

b = s.selectByStuNo(stuNo);

catch(Exception ex){

System.out.println("查询学生信息遇到异常!");

if(b){

jt1.setText(s.getStuNo());

jt2.setText(s.getName());

jt3.setText(s.getGender());

int a = s.getAge();

Integer i = new Integer(a);

jt4.setText(i.toString());

else{

JOptionPane.showMessageDialog(null, "无此学生!");

第五个:

import javax.swing.JFrame;

public class SelectTest {

public static void main(String [] args){

JFrame f = new JFrame("查询学生信息");

SelectPanel p = new SelectPanel();

f.add(p);

f.setSize(400,300);

f.setLocation(300,250);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setVisible(true);

第六个:

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Statement;

public class Student {

String stuNo;

String name;

String gender;

int age;

public Student(){}

public Student(String stuNo,String name,String gender, int age){

this.stuNo = stuNo;

this.name = name;

this.gender = gender;

this.age = age;

public String getStuNo(){

return stuNo;

public void setStuNo(String stuNo){

this.stuNo = stuNo;

public String getName(){

return name;

public void setName(String name){

this.name = name;

public String getGender(){

return gender;

public void setGender(String gender){

this.gender = gender;

public int getAge(){

return age;

public void setAge(int age){

this.age = age;

public boolean insertStudent(){

boolean b = true;

try{

Connection con = MySQLConnection.getCon();

Statement statement = con.createStatement();

String sql = "insert into student values('" + stuNo + "','" + name +"','" + gender + "'," + age + ")";

sql = new String(sql.getBytes("gb2312"),"ISO8859_1");

statement.executeUpdate(sql);

con.close();

catch(Exception e){

b = false;

System.out.println("插入数据库遇到异常!");

return b;

public boolean selectByStuNo(String stuNo)throws Exception{

boolean b = true;

Connection con = MySQLConnection.getCon();

Statement statement = con.createStatement();

String sql = "select * from student where stuNo =" + stuNo;

ResultSet rs = statement.executeQuery(sql);

if(rs != null rs.next()){

String no = rs.getString(1);

this.setStuNo(no);

String n = rs.getString(2);

n = new String(n.getBytes("ISO8859_1"),"gb2312");

this.setName(n);

String g = rs.getString(3);

g = new String (g.getBytes("ISO8859_1"),"gb2312");

this.setGender(g);

this.setAge(rs.getInt(4));

b = true;

rs.close();

statement.close();

con.close();

return b;

数据库你自己弄吧,我没时间弄了!初学得多动手哦

昆明Java培训:学习JAVA的同学都是怎么读源码的?

刚参加工作那会,没想过去读源码,更没想过去改框架的源码;总想着别人的框架应该是完美的、万能的,应该不需要改;另外即使我改了源码,怎么样让我的改动生效了?项目中引用的不还是没改的jar包吗。

回想起来觉得那时候的想法确实挺??工作了一年多之后准备跳槽了,开始了一轮的面试,其中有几个面试官就问到了相关的源码问题:ArrayList、HashMap的底层实现,spring、mybatis的相关源码。

问源码的面试一般就是回去等消息,然后就没然后了。

那时候开始意识到,源码这东西在之前的工作的中感受不到,但是在面试中好像面的还挺频繁的,从此有意识的开始了jdk部分源码的阅读(主要是集合)。

一开始看源码,看的特别糙,知道个大概,知道ArrayList的底层实现是数组,HashMap的底层是散列表(数组+链表);更深入一点的扩容、hash碰撞等等就不知道了。

读spring源码起于工作中遇到了一个问题(springjdbcTemplate事务,各种诡异,包你醍醐灌顶!),排查一段时间最终是解决了,但过程让我非常难受,各种上网查资料、各种尝试,感觉就像大海捞针一样,遥遥无期。

我下定决心,我要看一看spring的源码,于是我买了一本《spring源码深度解析》,结合着这本书、打开着eclipse,开始了spring的源码阅读之旅。

至此,读源码成了习惯,源码已经进入了我的心里。

后来,springboot的火热,让我也想蹭上一蹭,于是有了springboot的启动源码系列,虽然还在进行中,但是我相信我能将其完成;工作中用到了shiro,我又结合着《跟我学shiro》将shiro的源码看了个大概,有了shiro源码系列博文,还差一篇认证与授权(应该很快就能面世),shiro源码系列就封笔了。

最近在搭建自己的后台管理系统,用到了quartz,集成的过程也遇到了一些问题,因此有了quartz的两篇文章。

慢慢的,从一味的网上找资料变成了很多时候会从源码中找答案。

不求能读太多的源码,但愿自己接触的技术都能读上一读,路漫漫其修远兮,吾将上下而求索!大家为什么要读源码?很多人一定和我一样的感受:源码在工作中有用吗?用处大吗?很长一段时间内我也有这样的疑问,认为哪些有事没事扯源码的人就是在装,只是为了提高他们的逼格而已。

那为什么我还要读源码呢?一刚开始为了面试,后来为了解决工作中的问题,再后来就是个人喜好了。

说的好听点是有匠人精神;说的委婉点是好奇(底层是怎么实现的);说的不自信点是对黑盒的东西我用的没底,怕用错;说的简单直白点是提升自我价值,为了更高的薪资待遇(这里对真正的技术迷说声抱歉)。

源码中我们可以学到很多东西,学习别人高效的代码书写、学习别人对设计模式的熟练使用、学习别人对整个架构的布局,等等。

如果你还能找出其中的不足,那么恭喜你,你要飞升了!会使用固然重要,但知道为什么这么使用同样重要。

从模仿中学习,从模仿中创新。

读源码不像围城(外面的人想进来,里面的人想出去),它是外面的人不想进来,里面的人不想出去;当我们跨进城内,你会发现(还是城外好,皮!)城内风光无限,源码的海洋任我们遨游!首先我们要对我们的目标有所了解,知道她有什么特点,有些什么功能。

对对方都还不了解,就想着进入别人的内心世界,那不是臭不要脸嘛,我们要做一个有着流氓心的绅士;对她有个大致的了解了,就可以发起攻势,一举拿下。

那么怎么样了解了,方式有很多,我这里提供几种,仅供参考最好的方式就是官方参考指南,亲生父母往往对孩子是最了解的,对孩子的描述也是最详细的;比如SpringBootReferenceGuide就是对springboot最详细的描述,怎么样使用springboot、springboot特性等等,通过此指南,springboot在你面前一览无遗;但是,springboot毕竟是外国人的孩子,如果英语不好,估计读起来有点头疼了,不过我们有google翻译呀,咬咬牙也是能看的。

源码世界的丈母娘、老岳丈是非常慷慨的!其次是书籍,国外优秀的有很多,国内也不乏好书,比较推荐此方式,自成体系,让我们掌握的知识点不至于太散。

这就是好比是源码的闺蜜,对源码非常了解,重点是挺大方,会尽全力帮助我们了解源码。

再次就是博客,虽然可能觉得知识点比较散,但是针对某个知识点却特别的细,对彻底掌握非常有帮助,园子内就有很多技术大牛,写的博客自然也是非常棒,非常具有学习价值。

当然还有社区、论坛、github、码云等等。

这就是源码的朋友圈,我们从中也能获取到非常多关于源码的信息。

设计模式的了解优秀的框架、技术从不乏设计模式;jdk源码中就应用了很多设计模式,比如IO流中的适配器模式与装饰模式、GUI的观察者模式、集合中的迭代器模式等等;spring源码中也是用到了大量的设计模式。

设计模式有什么优点、各适用于什么场景,不是本文的内容,需要我们大家自行去了解。

我们只需要对一些常用的设计模式有个大致了解,再去读源码是比较好的;不需要将23种设计模式都通读,也不需要将常用设计模式完全理解透;对于全部通读,我们时间有限,另外有些模式确实不太好理解、用的少,性价比不高,没必要全部都读。

推荐书籍:《HeadFirstDesignPatterns》(中文版:《HeadFirst设计模式》)、《Java与模式》;另外我比较推荐的一种学习设计模式的方式是读别人博客:java_my_life,刘伟技术博客,chenssy的设计模式;设计模式之于源码,就好比逛街购物之于女人,想顺利勾搭源码,我们需要好好掌握设计模式这个套路。

配合ide进行断点追踪我们通过源码的圈子对源码的了解终究只是停在表面,终究还是没有走进她的内心,接下来我就和大家分享下,我是如何走进她的内心的!相信看过我的源码博客的小伙伴都知道,我非常喜欢通过idea断点来进行源码追踪,断点追踪源码是我非常推荐的一种方式。

断点不仅可以用来调试我们的代码,也可以用来调试我们用到的框架源码。

面对未知的、茫茫多的源码,我们往往没有足够的时间、经历和耐心去通读所有源码,我们只需要去读我们关注的部分即可(有人可能会说我都不关心,这?)。

那为什么要用断掉调试的方式来跟源码,而不是直接从源代码入手去跟我们关注的部分呢?尝试过的小伙伴应该知道,如果我们对源码不熟悉,直接通过源码的方式去跟,一方面很容易迷路(多态,会有很多子类实现),不知道接下来跟哪一个,另一方面也很容易跟丢,当我们跟入的很深的时候,很有可能就忘记上一步跟到哪了。

所以读源码的重要性浅显易懂了。

网校系统源码用java写的好处是什么?

兼容性强

网校系统Java语言编写,可以在少量修改或者在不改的情况下,就可以多平台运行,这种优势是其他语言编写无法完成的事,这是语言本身的优势,而且采用Java编写还能更好的处理数据,比如pc端和手机端的数据统一,ios端和Android端的数据统一,可以说在时间成本上节约了很多。

防攻击,安全性高

大家都知道,网校等发展一定规模后,安全就成了网校需要解决的事,而Java编写的语言,前期就可以解决这样的问题,它的安全系数是非常高的,语言本身的安全性较佳,对于防病毒等,比其他语言拥有更多的优势。不仅能够防止挂马、盗链、恶意下载等,还能保护注册学员的信息不被窃取,确保音视频课程不会被盗取。总之,想要攻击用java编写的语言,是难上加难。

多线程运行,加载速度快

Java语言编写网校系统,打破用户进入课堂卡顿问题,尤其是进行大班授课,或者公开课时,学员听课时非常多的,java可以确保这么多人同时进入课程时,速度快。这是java编写网校系统的优势,在处理多线程方面是优秀的,让系统多任务同时启动,而且交互性也很强,使用者体验度高,学员课堂效率也会变高。

后期添加功能方便

比如,线下转线上教育,需要搭建网校,因为刚刚开始,功能需求不是很多,那么等后期学员越来越多以后,肯定是需要增加的,那么这个时候就Java就起到作用了,java语言就可以轻松实现,这源于它动态的特点,在扩展功能是可以将新的代码加入到运行程序中,这是容易实现的,没有太多复杂的地方。所以利用java编写,在后续加功能或者升级时,都带来很多便利。

可以求一个 java学生信息管理系统的源码么 基于java窗口的

可以试试看啊以下方法实现了用户界面登陆importjava.awt.*;importjava.awt.event.*;publicclassDengLuJieMianextendsFrameimplementsActionListener{Labelusername=newLabel("用户名:");//使用文本创建一个用户名标签TextFieldt1=newTextField();//创建一个文本框对象Labelpassword=newLabel("密码:");//创建一个密码标签TextFieldt2=newTextField();Buttonb1=newButton("登陆");//创建登陆按钮Buttonb2=newButton("取消");//创建取消按钮publicDengLuJieMian(){this.setTitle("学生信息管理系统");//设置窗口标题this.setLayout(null);//设置窗口布局管理器username.setBounds(50,40,60,20);//设置姓名标签的初始位置this.add(username);//将姓名标签组件添加到容器t1.setBounds(120,40,80,20);//设置文本框的初始位置this.add(t1);//将文本框组件添加到容器password.setBounds(50,100,60,20);//密码标签的初始位置this.add(password);//将密码标签组件添加到容器t2.setBounds(120,100,80,20);//设置密码标签的初始位置this.add(t2);//将密码标签组件添加到容器b1.setBounds(50,150,60,20);//设置登陆按钮的初始位置this.add(b1);//将登陆按钮组件添加到容器b2.setBounds(120,150,60,20);//设置取消按钮的初始位置this.add(b2);//将取消按钮组件添加到容器b1.addActionListener(this);//给登陆按钮添加监听器b2.addActionListener(this);//给取消按钮添加监听器this.setVisible(true);//设置窗口的可见性this.setSize(300,200);//设置窗口的大小addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});//通过内部类重写关闭窗体的方法}publicvoidactionPerformed(ActionEvente){if(e.getSource()==b1)//处理登陆事件{Stringname=t1.getText();Stringpass=t2.getText();if(name!=nullpass.equals("000123"))//判断语句{newStudentJieMian();}}}publicstaticvoidmain(Stringargs[])//主函数{newDengLuJieMian();}}以下方法实现了学生界面设计importjava.awt.*;importjava.awt.event.*;classStudentJieMianextendsFrameimplementsActionListener{MenuBarm=newMenuBar();//创建菜单栏Menum1=newMenu("信息");//创建菜单“信息”MenuItemm11=newMenuItem("插入");//创建“插入”的菜单项MenuItemm12=newMenuItem("查询");Menum2=newMenu("成绩");//创建菜单“成绩”MenuItemm21=newMenuItem("查询");publicStudentJieMian(){this.setTitle("学生界面");//设置窗口标题this.setLayout(newCardLayout());//设置窗口布局管理器this.setMenuBar(m);//将菜单栏组件添加到容器m.add(m1);//将信息菜单放入菜单栏m.add(m2);m1.add(m11);//将“插入”菜单项添加到“信息”菜单m1.add(m12);//将“查询”菜单项添加到“信息”菜单m2.add(m21);//将“查询”菜单项添加到“成绩”菜单m11.addActionListener(this);//给“插入”菜单项添加监听器m12.addActionListener(this);//给“查询”菜单项添加监听器m21.addActionListener(this);//给“查询”菜单项添加监听器this.setVisible(true);//设置窗口的可见性this.setSize(300,200);//设置窗口的大小addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);//关闭窗口}});}publicvoidactionPerformed(ActionEvente){if(e.getSource()==m11)//处理“添加信息”事件{newAddStudent();}if(e.getSource()==m12)//处理“查询信息”事件{newSelectStudent();}if(e.getSource()==m21)//处理“查询成绩”事件{newChengJiStudent();}}publicstaticvoidmain(Stringargs[])

  教育培训系统源码java 


评论


最新评论