package teacher;
import java.sql.*;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class tea_main implements ItemListener,ActionListener{
// JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/online_test";
// 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root";
static final String PASS = "12345678";
// 界面设计
private JFrame frame=new JFrame("课程题库管理系统-->>教师界面 ");
private Container cont=frame.getContentPane();
private JLabel label=new JLabel("题目类别:");
private JComboBox jcb1=null; // 下拉列表框
private JLabel labe2=new JLabel("题目类型 :");
private JComboBox jcb2=null;
private JLabel labe3=new JLabel("所属套题 :");
private JComboBox jcb3=null;
private JButton jbt=new JButton("查询");
private JButton dao=new JButton("导出");
private JTable table=null;
private DefaultTableModel tableModel=null;
private String[] titles={"考题类别","考题类型","分值","题目内容","题目选项","正确答案","所属套题"};
private Object[][] ktinfo=null;
private JButton addBtn=new JButton("添加考题");
private JButton editBtn=new JButton("修改考题");
private JButton deleteBtn=new JButton("删除考题");
public static String s1;
public static String s2;
public static String s3;
public static String s4;
public static String s5;
public static String s6;
public static String s7;
// 构造函数
public tea_main(){
this.frame.setLayout(null);
String lx[]={"PHP","JAVA","C#","asp.net"};
Vector<String> v=new Vector<String>();
v.add("单选题");
v.add("填空题 ");
v.add("简单题");
String tt[]={"第一套题","第二套题","第三套题","第四 套题"};
this.jcb1=new JComboBox(lx);
this.jcb2=new JComboBox(v);
this.jcb3=new JComboBox(tt);
this.tableModel=new DefaultTableModel(this.ktinfo,this.titles);
this.table=new JTable(this.tableModel);
JScrollPane scr=new JScrollPane(this.table); // 加入滚动条
JPanel toolBar=new JPanel(); // 定义面板
toolBar.add(this.addBtn);
toolBar.add(this.editBtn);
toolBar.add(this.deleteBtn);
// 加入事件监听和动作监听
jcb1.addItemListener(this);
jcb1.addActionListener(this);
jcb2.addItemListener(this);
jcb2.addActionListener(this);
jcb3.addItemListener(this);
jcb3.addActionListener(this);
jcb1.setMaximumRowCount(3);
jcb2.setMaximumRowCount(3);
jcb3.setMaximumRowCount(3);
cont.add(label);
cont.add(this.jcb1);
cont.add(labe2);
cont.add(this.jcb2);
cont.add(labe3);
cont.add(this.jcb3);
cont.add(this.jbt);
cont.add(this.dao);
cont.add(scr);
cont.add(toolBar);
label.setBounds(10,10,80,22);
jcb1.setBounds(90,10,100,22);
labe2.setBounds(200,10,80,22);
jcb2.setBounds(270,10,100,22);
labe3.setBounds(380,10,80,22);
jcb3.setBounds(450,10,100,22);
jbt.setBounds(560,10,80,22);
dao.setBounds(650,10,80,22);
scr.setBounds(20,50,700,400);
toolBar.setBounds(10,460,700,50);
this.frame.setSize(800,600);
this.frame.setVisible(true);
// 为按钮增加监听
this.addBtn.addActionListener(this);
this.editBtn.addActionListener(this);
this.deleteBtn.addActionListener(this);
// 按钮提交事件,采用匿名内部类
jbt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent args0){
if(args0.getSource()==jbt){ // 判断触发时是否提交按钮
String lb=(String)jcb1.getSelectedItem(); // 题目类别
String lx=(String)jcb2.getSelectedItem(); // 题目类型
String tt=(String)jcb3.getSelectedItem(); //所属套题
// 从数据库进行查询
Connection conn = null;
Statement stmt = null;
try{
// 注册 JDBC 驱动
Class.forName("com.mysql.jdbc.Driver");
// 打开链接
// System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
// System.out.println(" 实例化Statement对...");
stmt = conn.createStatement();
String sql;
sql = "SELECT ktinfo_name, ktinfo_lx,ktinfo_score,ktinfo_cont,ktinfo_answer,ktinfo_ranswer,ktinfo_belong_lx FROM ktinfo WHERE ktinfo_name='"+lb+"' AND ktinfo_lx='"+lx+"' AND ktinfo_belong_lx='"+tt+"' ";
ResultSet rs = stmt.executeQuery(sql);
// 展开结果集数据库
while(rs.next()){
// 通过字段检索
String kt_lb = rs.getString("ktinfo_name");
String kt_lx = rs.getString("ktinfo_lx");
String kt_score = rs.getString("ktinfo_score");
String kt_cont = rs.getString("ktinfo_cont");
String kt_answer = rs.getString("ktinfo_answer");
String kt_ranswer = rs.getString("ktinfo_ranswer");
String kt_belong_lx = rs.getString("ktinfo_belong_lx");
// 输出数据
// System.out.print(": " + kt_lb);
// System.out.print(" " + kt_lx);
// System.out.print(" " + kt_score);
// System.out.print(" " + kt_cont);
// System.out.print(" " + kt_answer);
// System.out.print(" " + kt_ranswer);
// System.out.print(" " + kt_belong_lx);
// System.out.print("\n");
Object[] s={kt_lb,kt_lx,kt_score,kt_cont,kt_answer,kt_ranswer,kt_belong_lx};
tableModel.addRow(s);
}
// 完成后关闭
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什么都不做
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
}
}
});
// 导出事件
dao.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent args0){
if(args0.getSource()==dao){ // 判断触发时是否提交按钮
String lb=(String)jcb1.getSelectedItem(); // 题目类别
String lx=(String)jcb2.getSelectedItem(); // 题目类型
String tt=(String)jcb3.getSelectedItem(); //所属套题
// 从数据库进行查询
Connection conn = null;
Statement stmt = null;
try{
// 注册 JDBC 驱动
Class.forName("com.mysql.jdbc.Driver");
// 打开链接
// System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
// System.out.println(" 实例化Statement对...");
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该资源是基于java程序设计语言,实现的在线题库系统,包含用户身份【教师、学生、管理员】。教师--登录、出题、组卷功能、查看学生信息、学生成绩等功能;学生--注册登录、在线考试、自由练习、查看成绩等功能;管理员--批量上传试题、用户信息管理等功能。本系统为完整版项目,下载即可运行,有美观的界面设计和完善的功能。希望对大家有帮助
资源推荐
资源详情
资源评论
收起资源包目录
java_在线题库系统【教师、学生、管理员】.zip (48个子文件)
java_course_design
.project 394B
src
student
Test_stu.java 11KB
db_conn
conn.java 2KB
teacher
tea_edit.java 7KB
tea_main.java 15KB
tea_add.java 7KB
insert
excel.xlsx 13KB
InsertDB.java 3KB
test 2KB
test.java 409B
manager.java 2KB
DataGather.java 3KB
test
Hello.java 932B
DbHelper.java 3KB
TestMain.java 5KB
Change_pwd.java 9KB
.settings
org.eclipse.jdt.core.prefs 598B
.classpath 392B
bin
student
Test_stu$1.class 4KB
Test_stu$2.class 5KB
Test_stu$3.class 652B
Test_stu.class 4KB
db_conn
conn.class 3KB
teacher
tea_edit.class 6KB
tea_main$3.class 849B
tea_main$6.class 652B
tea_main$4.class 1KB
tea_main$2.class 5KB
tea_edit$1.class 4KB
tea_add.class 5KB
tea_add$1.class 4KB
tea_main.class 6KB
tea_main$1.class 4KB
tea_main$5.class 4KB
insert
excel.xlsx 13KB
InsertDB.class 3KB
manager$1.class 1KB
DataGather.class 3KB
test 2KB
test.class 694B
manager.class 2KB
test
TestMain$2.class 729B
Change_pwd$1.class 2KB
TestMain.class 5KB
DbHelper.class 3KB
TestMain$1.class 2KB
Change_pwd.class 7KB
Hello.class 1KB
共 48 条
- 1
资源评论
mico_cmm
- 粉丝: 167
- 资源: 37
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- libjpeg 编译所需的 Win32.mak vs编译libjpeg
- 自动驾驶-状态估计和定位-粒子滤波实现和源码.pdf
- 数据可视化-智慧物流服务中心大屏页面.zip
- yolov5,SSD 可能使用到的一些代码
- bbbbbbbbbbbbbbbbbb
- 安卓逆向学习笔记之Frida Stalker 还原OLLVM AES.docx
- 安卓逆向学习笔记之unicorn来trace还原OLLVM Base64.docx
- 基于jquery的自定义表格组件实现
- Nessus最新20240426离线安装插件all-2.0.tar.gz
- 最新版本私钥助记词碰撞器大富豪使用python进行制作通过接口的方式进行验证支持多币种多链多网络一分钟万次验证高出货率
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功