javaswt学生成绩管理系统源码的简单介绍

今天给各位分享javaswt学生成绩管理系统源码的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、求用Java编写的学生成绩管理系统的完整代码,要能运行的2、用java做一个学生成绩管理系统需要哪些技术?3、(高分)急求连接数据库的JAVA学生信息管理系统源代码4、求用Java编写的学生成绩管理系统的完整代码5、Java web 学生管理系统 要求给个源代码和包6、急求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[])

{ new StudentJieMian(); //创建一个对象 }

用java做一个学生成绩管理系统需要哪些技术?

用java做一个学生成绩管理系统,可以用到如下技术:

后台:SSH框架,不用框架的话,单纯地用JSP + Servlet也可以。

前台:html + css + js + jquery

数据库:掌握SQL语言的编写,数据库的连接。复杂的项目还需要用到存储过程。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高

效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话

和互联网,同时拥有全球最大的开发者专业社群。

Java由四方面组成:

1、Java编程语言,即语法。

2、Java文件格式,即各种文件夹、文件的后缀。

3、Java虚拟机(JVM),即处理*.class文件的解释器。

4、Java应用程序接口(Java API)。

javaswt学生成绩管理系统源码的简单介绍

(高分)急求连接数据库的JAVA学生信息管理系统源代码

数据库连接(Connection)

数据库连接

获取数据库连接有两种方法,一种是通过驱动程序管理器DriverManager类,另一种则是使用DataSource接口。这两种方法都提供了了一个getConnection方法,用户可以在程序中对它们进行相应处理后调用这个方法来返回数据库连接。

• DriverManager类

• DataSource接口

• Connection接口

• JDBC URL

jdbc:subprotocol:subname

• 驱动程序注册方法

(1)调用Class.forName方法

(2)设置jdbc.drivers系统属性

• DriverManager方法

DriverManager类中的所有方法都是静态方法,所以使用DriverManager类的方法时,不必生成实例。

DriverManager

• getConnection方法

作用是用于获取数据库连接,原型如下:

public static Connection getConnection(String url)

throws SQLException;

public static Connection getConnection(String url, String user, String password)

throws SQLException;

public static Connection getConnection(String url, Properties info)

throws SQLException;

• 使用DriverManager的getConnetion方法

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

Connection conn = DriverManager.getConnection

(“jdbc:odbc:sqlserver”, “sa”, “sa”);

• 使用设置jdbc.drivers系统属性的方法

java -Djdbc.drivers=sun.jdbc.odbc.JdbcOdbcDriver test.java

DataSource 接口

……

//从上下文中查找数据源,并获取数据库连接

Context ctx = new InitialContext();

DataSource ds = (DataSource) ctx.lookup(“sqlserver”);

Connection conn = ds.getConnection();

//查询数据库中所有记录

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery(“SELECT * FROM student”);

……

Connection 接口

Connection接口代表了已经建立的数据库连接,它是整个JDBC的核心内容。Connnection接口中的方法按照它们所实现的功能,可以分为三类:

• 生成数据库语句

• 管理数据库事务

• 获取数据库信息

生成数据库语句

JDBC将数据库语句分成三种类型 :

• 生成Statement 语句 :

Connection.createStatement()

• 生成PreparedStatement 语句 :

Connection. prepareStatement()

• 生成CallableStatement 语句 :

Connection. prepareCall ()

管理数据库事务

• 默认情况下,JDBC将一条数据库语句视为一个完整的事务。可以关掉默认事务管理:

public void setAutoCommit(Boolean autoCommit) throws SQLException;

将autoCommit的值设置为false,就关掉了自动事务管理模式

• 在执行完事务后,应提交事务:

public void commit() throws SQLException;

• 可以取消事务:

public void rollback() throws SQLException;

第二讲 第四部分

数据库语句

数据库语句

JDBC数据库语句共有三种类型:

• Statement:

Statement语句主要用于嵌入一般的SQL语句,包括查询、更新、插入和删除等等。

• PreparedStatement:

PreparedStatement语句称为准备语句,它是将SQL语句中的某些参数暂不指定,而等到执行时在统一指定。

• CallableStatement:

CallableStatement用于执行数据库的存储过程。

Statement 语句

• executeQuery方法

• executeUpdate方法

• execute方法

• close方法

executeQuery方法

• executeQuery方法主要用于执行产生单个结果集的SQL查询语句(QL),即SELECT语句。executeQuery方法的原型如下所示:

• public ResultSet executeQuery(String sql) throws SQLException;

executeUpdate方法

• executeUpdate方法主要用于执行 INSERT、UPDATE、DELETE语句,即SQL的数据操作语句(DML)

• executeUpdate方法也可以执行类似于CREATE TABLE和DROP TABLE语句的SQL数据定义语言(DDL)语句

• executeUpdate方法的返回值是一个整数,指示受影响的行数(即更新计数)。而对于CREATE TABLE 或 DROP TABLE等并不操作特定行的语句,executeUpdate的返回值总为零。

execute方法

execute方法用于执行:

• 返回多个结果集

• 多个更新计数

• 或二者组合的语句

execute方法

• 返回多个结果集:首先要调用getResultSet方法获得第一个结果集,然后调用适当的getter方法获取其中的值。要获得第二个结果集,需要先调用getMoreResults方法,然后再调用getResultSet方法。

• 返回多个更新计数:首先要调用getUpdateCount方法获得第一更新计数。然后调用getMoreResults,并再次调用getUpdateCount获得后面的更新计数。

• 不知道返回内容:如果结果是ResultSet对象,则execute方法返回true;如果结果是int类型,则意味着结果是更新计数或执行的语句是DDL命令。

execute方法

为了说明如果处理execute方法返回的结果,下面举一个代码例子:

stmt.execute(query);

while (true) {

int row = stmt.getUpdateCount();

//如果是更新计数

if (row 0) {

System.out.println(“更新的行数是:” + row);

stmt.getMoreResults();

continue;

}

execute方法

//如果是DDL命令或0个更新

if (row == 0) {

System.out.println(“没有更新,或SQL语句是一条DDL语句!”);

stmt.getMoreResults();

continue;

}

//如果是一个结果集

ResultSet rs = stmt.getResultSet;

if (rs != null) {

while (rs.next()) {

// 处理结果集

. . .

}

stmt.getMoreResults();

continue;

}

break;

}

PreparedStatement 语句

登录一个网站或BBS时 :

• 使用Statement语句

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery

(“SELECT password FROM userinfo

WHERE id=userId”);

• 使用PreparedStatement语句

PreparedStatement pstmt=conn.prepareStatement

(“SELECT password FROM userinfo

WHERE id=?”);

pstmt.setString(1, userId);

PreparedStatement语句

• 常用的setter方法

public void setBoolean(int parameterIndex, boolean x) throws SQLException;

public void setByte(int parameterIndex, byte x) throws SQLException;

public void setShort(int parameterIndex, short x) throws SQLException;

public void setInt(int parameterIndex,int x) throws SQLException;

public void setLong(int parameterIndex, long x) throws SQLException;

public void setFloat(int parameterIndex, float x) throws SQLException;

public void setDouble(int parameterIndex, double x) throws SQLException;

public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException;

public void setString(int parameterIndex, String x) throws SQLException;

public void setBytes(int parameterIndex, byte[] x) throws SQLException;

public void setDate(int parameterIndex, Date x) throws SQLException;

public void setTime(int parameterIndex, Time x) hrows SQLException;

public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException;

PreparedStatement语句

• PreparedStatement接口是由Statement接口扩展而来的,重写了executeQuery方法、executeUpdate方法和execute 方法

• public ResultSet executeQuery() throws SQLException

• public int executeUpdate() throws SQLException

• public boolean execute() throws SQLException

CallableStatement语句

• CallableStatement语句是由Connection接口的prepareCall方法创建的,创建时需要传入字符串参数,参数的形式为:

• {call procedure_name[(?, ?, …)]}

• {? = call procedure_name[(?, ?, …)]}

• {call procedure_name}

CallableStatement语句

• 其中的问号是参数占位符,参数共有两种:

• IN参数

• OUT参数

• IN参数使用setter方法来设置

• OUT参数则使用registerOutParameter方法来设置

CallableStatement 语句

CallableStatement cstmt = con.prepareCall

(“{call getTestData(?, ?)}”);

cstmt.registerOutParameter

(1, java.sql.Types.TINYINT);

cstmt.registerOutParameter

(2, java.sql.Types.DECIMAL, 3);

cstmt.executeQuery();

byte x = cstmt.getByte(1);

java.math.BigDecimal n =

cstmt.getBigDecimal(2, 3);

第二讲 第五部分

结 果 集

结果集

• JDBC为了方便处理查询结果,又专门定义了一个接口,这个接口就是ResultSet接口。ResultSet接口提供了可以访问数据库查询结果的方法,通常称这个接口所指向的对象为结果集。

• 有两种方法得到结果集,一种是直接执行查询语句,将结果存储在结果集对象上;另一种是不存储返回结果,而在需要时调用数据库语句的getResultSet方法来返回结果集

结果集

• 结果集指针

由于返回的结果集可能包含多条数据记录,因此ResultSet 接口提供了对结果集的所有数据记录轮询的方法。结果集自动维护了一个指向当前数据记录的指针,初始时这个指针是指向第一行的前一个位置。 next 方法就是用于向前移动指针的

结果集

• 结果集属性

默认情况下,结果集是一个不可更新集,并且结果集的指针也只能向前移动。也就是说,在得到了一个结果集之后,用户只能按照从第一条记录到最后一条记录的顺序依次向后读取,而不能跳到任意条记录上,也不能返回到前面的记录。不仅如此,结果集的这种轮询只能进行一次,而不能再将指针重置到初始位置进行多次轮询

结果集

• 结果集属性

类型

并发性

有效性

• 属性的设置是在生成数据库语句时通过向生成方法传入相应的参数设定的,而当结果集已经返回时就不能够再改变它的属性了。

结果集生成Statement语句共有三种方法

public Statement createStatement() throws SQLException;

public Statement createStatement

(int resultSetType, int resultSetConcurrency)

throws SQLException;

public Statement createStatement

(int resultSetType, int resultSetConcurrency,

int resultSetHoldability)

throws SQLException;

结果集

• 生成PreparedStatement语句共有六种方法

public PreparedStatement prepareStatement(String sql) throws SQLException;

public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)

throws SQLException;

public PreparedStatement prepareStatement(String sql, int[] columnIndexes)

throws SQLException;

public PreparedStatement prepareStatement(String sql, int resultSetType,

int resultSetConcurrency)

throws SQLException;

public PreparedStatement prepareStatement(String sql, int resultSetType,

int resultSetConcurrency,

int resultSetHoldability)

throws SQLException;

public PreparedStatement prepareStatement(String sql. String[] columnNames)

throws SQLException;

结果集

• 生成CallableStatement语句共有三种方法

public CallableStatement prepareCall(String sql)

throws SQLException;

public CallableStatement prepareCall

(String sql, int resultSetType,

int resultSetConcurrency)

throws SQLException;

public CallableStatement prepareCall

(String sql, int resultSetType,

int resultSetConcurrency,

int resultSetHoldability)

throws SQLException;

结果集

结果集类型

• 结果集的类型共有三种,TYPE_FORWARD_ONLY类型的结果集只能向前移动指针,而TYPE_SCROLL_INSENSITIVE类型和TYPE_SCROLL_SENSITIVE类型的结果集则可以任意移动指针。后两种类型的区别在于,前者对来自其它处的修改不敏感(静态),而后者则对于别人的修改敏感(动态视图)。

结果集

结果集类型

• 对于可以任意移动指针的结果集,可以用来移动指针的方法包括:

• next 和previous :

• absolute 和relative :参数可正可负

• afterLast 、beforeFirst 、last 和first :

结果集

结果集并发性

• 结果集的并发性共有两种,CONCUR_READ_ONLY的结果集是只读而不可更新的;而CONCUR_UPDATABLE的结果集则是可以通过update方法进行更新的。

• ResultSet接口提供了一组update方法,用于更新结果集中的数据。这些方法与PreparedStatement接口中定义的setter方法一样,也是与类型相对应的。所有的update方法都以update开头 。

• 所有的update方法都有两个参数,第一个参数用于指定更新的列,它可以是列名称也可以是列的序号;第二个参数则表示将要更新列的值。

结果集

结果集并发性

• Statement stmt = conn.createStatement

• (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

• ResultSet rs = stmt.executeQuery(“SELECT * FROM student ” +

• “WHERE grade=2 AND math60 AND physics60 AND ” +

• “chemistry60 AND english60 AND chinese60”);

• while(rs.next()){

• rs.updateString(“grade”, “3”);

• rs.updateRow();

• }

结果集

结果集有效性

• 结果集的有效性是指在调用了Connection 接口的commit 方法后,结果集是否自动关闭。所以它只有两个可选值,即HOLD_CURSORS_OVER_COMMIT 和CLOSE_CURSORS_AT_COMMIT 。前者表示调用commit 方法之后,结果集不关闭;而后者则表示关闭结果集。

结果结果集

• 结果集的getter方法

ResultSet接口还提供了一组getter方法,用于返回当前记录的属性值。它们都是以get开头的,后接数据类型。比如,如果要返回一个float类型的列值,则应调用getFloat方法。每一种类型的getter方法都有两种形式,它们的名称相同而参数不同。这两种形式的getter方法都只有一个参数,第一种形式的getter方法参数是String类型的,用于指定列的名称;另外一种形式的getter方法参数则是int类型的,用于指定列的序号。

求用Java编写的学生成绩管理系统的完整代码

package jdbcproj;

import java.sql.*;

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JTextField;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.awt.event.ActionEvent;

public class MainFrame extends JFrame {

private JPanel contentPane;

private JTextField txtname;

private JTextField txtpassword;

/**

 * Launch the application.

 */

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

MainFrame frame = new MainFrame();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

 * Create the frame.

 */

public MainFrame() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 661, 399);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);

JLabel lblNewLabel = new JLabel(“\u7528\u6237\u540D”);

lblNewLabel.setBounds(114, 51, 72, 18);

contentPane.add(lblNewLabel);

JLabel lblNewLabel_1 = new JLabel(“\u5BC6\u7801”);

lblNewLabel_1.setBounds(114, 106, 72, 18);

contentPane.add(lblNewLabel_1);

txtname = new JTextField();

txtname.setBounds(261, 48, 86, 24);

contentPane.add(txtname);

txtname.setColumns(10);

txtpassword = new JTextField();

txtpassword.setBounds(261, 103, 86, 24);

contentPane.add(txtpassword);

txtpassword.setColumns(10);

JButton btnadd = new JButton(“\u589E\u52A0”);

btnadd.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(txtname.getText().equals(“”)||txtpassword.getText().equals(“”))

{

JOptionPane.showMessageDialog(getContentPane(), “用户名和密码不能为空”,”提示信息框”,JOptionPane.WARNING_MESSAGE);

}

else{

Users u=new Users();

u.setPwd(txtpassword.getText());

u.setUsername(txtname.getText());

UserDAO usdo=new UserDAO();

usdo.addUser(u);

}

}

});

btnadd.setBounds(45, 205, 113, 27);

contentPane.add(btnadd);

JButton btndelete = new JButton(“\u5220\u9664”);

btndelete.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

if(txtname.getText().equals(“”))

{

JOptionPane.showMessageDialog(getContentPane(), “用户名不能为空”,”提示信息框”,JOptionPane.WARNING_MESSAGE);

}

else{

UserDAO usdo=new UserDAO();

usdo.delUser(txtname.getText());;

}

}

});

btndelete.setBounds(172, 205, 113, 27);

contentPane.add(btndelete);

JButton btnupdate = new JButton(“\u4FEE\u6539”);

btnupdate.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(txtname.getText().equals(“”)||txtpassword.getText().equals(“”))

{

JOptionPane.showMessageDialog(getContentPane(), “用户名和密码不能为空”,”提示信息框”,JOptionPane.WARNING_MESSAGE);

}

else{

Users u=new Users();

u.setPwd(txtpassword.getText());

u.setUsername(txtname.getText());

UserDAO usdo=new UserDAO();

usdo.updateUser(u);;

}

}

});

btnupdate.setBounds(300, 205, 113, 27);

contentPane.add(btnupdate);

JButton btnfind = new JButton(“\u67E5\u8BE2”);

btnfind.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if(txtname.getText().equals(“”))

{

JOptionPane.showMessageDialog(getContentPane(), “用户名不能为空”,”提示信息框”,JOptionPane.WARNING_MESSAGE);

}

else{

Users u=new Users();

UserDAO usdo=new UserDAO();

u=usdo.findUser(txtname.getText(), txtpassword.getText());

if(u!=null){

JOptionPane.showMessageDialog(getContentPane(), “该用户存在!”,”提示信息框”,JOptionPane.WARNING_MESSAGE);

}

else{

JOptionPane.showMessageDialog(getContentPane(), “该用户不存在!”,”提示信息框”,JOptionPane.WARNING_MESSAGE);

}

}

}

});

btnfind.setBounds(427, 205, 113, 27);

contentPane.add(btnfind);

//记得要写这个

setVisible(true);

}

}

Java web 学生管理系统 要求给个源代码和包

图书管理系统是一个比较常见的课程设计课题

一般来说可以用jsp+servlet框架来实现, 这个可以通过自己的封装, 把路由精简一下, 也可以用最新的servlet注解, 也是比较方便开发的。最近的几个项目都是这么用的。

如果是比较复杂的项目还是推荐用spring全家桶, 这个非常常用

急求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://www.easyaq.com/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;

}

}

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

关于javaswt学生成绩管理系统源码和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月30日 16:07:26
下一篇 2024年3月30日 16:16:59

相关推荐

  • c语言mallloc使用的简单介绍

    C语言中使用malloc必须加#includemallo.h? 1、在C语言中使用malloc函数进行动态内存分配。malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void malloc(unsigned int num_bytes);功能:分配长度为num_bytes字节的内存块。 2、你可以看一下C语言那本…

    2024年5月23日
    4400
  • javascriptcanvas的简单介绍

    如何使用js在画布上绘制图形 1、可以使用 drawImage()方法把一幅图像绘制到画布上。 以使用三种不同的参数组合。最简单的调用方式是传入一个 HTML 元素,以及绘制该图像的起点的 x 和 y 坐标。 2、效果图:使用JavaScript在画布中绘制文本图形首先我们来看看要在画布上绘制文本图形,需要用到的最重要的属性和方法:font属性:定义文本的字…

    2024年5月23日
    4200
  • cortexm4linux的简单介绍

    Cortex-M4的主要功能 Cortex-M4提供了无可比拟的功能,以将[1] 32位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场。 Cortex-M4核心具有浮点单元(FPU)单精度,支持所有Arm单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个提高应用程序安全性的内存保护单元(MPU)。 主要是m4比m3多了dsp的支…

    2024年5月23日
    4300
  • 3desjavaphp的简单介绍

    php的3des加密结果与java不一致 他们的加密算法都是通用的,是可以解开的,只要你des的模式,加密长度,初始向量什么的都一样就可以。 JAVA写RSA加密,私钥都是一样的,公钥每次加密的结果不一样跟对数据的padding(填充)有关。Padding(填充)属性定义元素边框与元素内容之间的空间。padding简写属性在一个声明中设置所有内边距属性。 要…

    2024年5月23日
    4700
  • 黑客代码软件学习推荐歌曲的简单介绍

    我想自学编程代码,,目地是“黑”网站,开发出破解代码。有没有这方面的… 这个迭代周期不应该以周为周期或以月为周期发生,而是应该以日为周期。知识等待使用的时间越久,知识这把斧头就越钝。等待学习新知识的时间越长,你就越难以将其融入到代码中。 我认为这个问题问得本身就显得有点矛盾,想学却担心自己看不懂代码学不来,试问哪个编程人员不是从零开始的。坚定信念…

    2024年5月23日
    4700
  • java8种基本类型范围的简单介绍

    java中常用的数据类型有哪些 1、java数据类型分为基本数据类型和引用数据类型,基本数据类型有boolean 、long 、int 、char、byte、short、double、float。引用数据类型有类类型、接口类型和数组类型。 2、java中包含的基本数据类型介绍:\x0d\x0aJava共支持8种内置数据类型。内置类型由Java语言预先定义好,…

    2024年5月23日
    4700
  • linux系统与gpt的关系的简单介绍

    linux下查看分区是不是gpt 看分区会报错,比如:WARNING: GPT (GUID Partition Table) detected on /dev/sda! The util fdisk doesnt support GPT. Use GNU Parted.所以这个sda就是gpt的。 选择“管理”;在“磁盘管理”中,右键“磁盘0”,在弹出的右键…

    2024年5月23日
    5400
  • 北京黑客学习培训的简单介绍

    现在学什么好啊 包括建筑设计、服装设计、珠宝首饰设计等,选择适合自己的设计专业,好好学习,就业容易且收入高。学前教育专业:很多女生喜欢小孩子,且女生一般细心且有耐心,教育行业假期宽裕,工作环境单纯,就业机会多。 现在比较热门好就业的专业有人工智能、机械专业、电子商务专业、人力资源专业、金融学专业、小语种类专业等等。人工智能:人工智能领域的研究包括机器人、语言…

    2024年5月23日
    4100
  • javaee要学那些东西的简单介绍

    java主要学习哪些内容 1、学java最重要的是下面四个内容:掌握Java语言的使用:语言语法、程序逻辑,OOP(面向对象)思想,封装、继承、多态,集合框架、泛型、File I\O技术,多线程技术、socket网络编程,XML技术。 2、Java基础:了解Java的基本语法、数据类型、控制流程、数组、字符串等基础概念。学习面向对象编程(OOP)的原则和概念…

    2024年5月23日
    4200
  • excel自杀的简单介绍

    excel表格中宏代码,具有自杀功能,密码输入错误3次就自动删除表格_百度… 我给楼主一个建议,利用excel自身的密码保护,保护此工作簿的结构,将sheet提前隐藏。这样如果有人将同一份excel打开时,如果不能输入正确的密码,就不能将sheet取消隐藏,就能达到楼主所说的保护了。 如果你还有源文件的话,可以这样试试:打开其他的excel文件,…

    2024年5月23日
    8100

发表回复

登录后才能评论



关注微信