因为要做java大作业,学生信息管理系统,但不知道具体应该做成一个怎么样的效果?想借鉴网上的,所以download了一个,但编译总提示“使用了未经检查或不安全的操作”。
网上看到是因为版本兼容问题,有两种办法:1.改代码,比如什么泛型修改 2.下载jdk1.4版本的可我目前的状况:
1.请一位学长修改,他好像说vector里面的对象不确定 ;命令行参数 javac @SuppressWarnings("unchecked") FileActionListener.java 提示系统找不到文件
2.sun 网站上不能下载1.4的
$cp=copy("$file_name",images/$file_name);
unlink($file_name);
if(!cp)
{
echo"error";
}
网上看到是因为版本兼容问题,有两种办法:1.改代码,比如什么泛型修改 2.下载jdk1.4版本的可我目前的状况:
1.请一位学长修改,他好像说vector里面的对象不确定 ;命令行参数 javac @SuppressWarnings("unchecked") FileActionListener.java 提示系统找不到文件
2.sun 网站上不能下载1.4的
$cp=copy("$file_name",images/$file_name);
unlink($file_name);
if(!cp)
{
echo"error";
}
//create table Java(ID text(8),Name text(10),Score long);
//create table Math(ID text(8),Name text(10),Score long);
import java.util.*;
import java.sql.*;
import java.io.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;class ScoreSystem extends JFrame
{
private Container content = getContentPane(); //获取内容窗格
private JMenuBar menuBar = new JMenuBar(); //创建菜单栏
private JMenu Setting = new JMenu("操作"); //创建菜单
private JMenu SelectScourse = new JMenu("选择课程");
private JMenu Other = new JMenu("其它");
private JMenuItem Record = new JMenuItem("录入");//创建JMenu菜单项
private JMenuItem Find = new JMenuItem("查询");
private JMenuItem Rework = new JMenuItem("修改");
private JMenuItem Del = new JMenuItem("删除");
private JMenuItem Reset = new JMenuItem("刷新");
private JMenuItem BC = new JMenuItem("C语言"); //创建课程选择菜单
private JMenuItem BJava = new JMenuItem("Java");
private JMenuItem BMath = new JMenuItem("数学");
public static String Scourse ="C";
public static final int RECORD=001; //定义常量,用来区分不同的菜单项
public static final int FIND=002;
public static final int REWORK=003;
public static final int DEL=004;
public static final int RESET=005;
public static final int ABOUT=006;
public static final int EXIT=007;
public static final int BRECORD=101;
public static final int BFIND=102;
public static final int BREWORK=103;
public static final int BDEL=104;
public static final int CBC=105;
public static final int CBJAVA=106;
public static final int CBMATH=107;
private JMenuItem About = new JMenuItem("关于软件...");
private JMenuItem Exit = new JMenuItem("退出!!!");
private JButton BRecord = new JButton("录入");//创建按钮项
private JButton BFind = new JButton("查询");
private JButton BRework = new JButton("修改");
private JButton BDel = new JButton("删除");
JTextField TextNO = new JTextField(8); //定义输入文本框
JTextField TextName = new JTextField(8);
JTextField TextScore = new JTextField(3);
JTextField TextFind = new JTextField(8);
JLabel LaNO = new JLabel("学号"); // 定义标签
JLabel LaName = new JLabel("姓名");
JLabel LaScore = new JLabel("分数");
JLabel State = new JLabel("good");
String[] data = {"学号","姓名"}; //定义查找用的ComboBox
JComboBox FindList = new JComboBox(data);
private JPanel PanelRecord=new JPanel(); //定义录入,查找,更改,删除板块
private JPanel PanelFind=new JPanel();
private JPanel PanelRework=new JPanel();
private JPanel PanelDel=new JPanel();
JPanel BigPanel=new JPanel();
JPanel BigPanel2=new JPanel();
String title[]={"学号","姓名","成绩"};
public static String name,no,score;
int row;
JTable table; //声明table
JScrollPane scroll; //声明滚动条
Vector vector = new Vector (); //创建向量对象
AbstractTableModel tm = new AbstractTableModel() //创建模板
{
public int getColumnCount() //取得表格的列数
{
return title.length;
}
public int getRowCount() //取得表格的行数
{
return vector.size();
}
public Object getValueAt(int row,int column)//取得单元格中的属性
{
if(!vector.isEmpty())
{
return ((Vector)vector.elementAt(row)).elementAt(column);
}
else
{
return null;
}
}
public void setValueAt(Object value,int row,int column)//数据模型不可编辑,改方法设为空
{
}
public String getColumnName(int column) //取得表格名
{
return title[column];
}
public boolean isCellEditable(int row,int column)
{
return false;
}
};
public ScoreSystem(String title)
{
super(title);
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭窗口
Setting.add(Record); //设置"操作"下拉菜单
Setting.add(Find);
Setting.add(Rework);
Setting.add(Del);
Setting.add(Reset);
SelectScourse.add(BC); //设置课程选择下拉菜单
SelectScourse.add(BJava);
SelectScourse.add(BMath);
Other.add(About); //设置"其它"下拉菜单
Other.add(Exit);
menuBar.add(SelectScourse);
menuBar.add(Setting); //设置下拉菜单
menuBar.add(Other);
setJMenuBar(menuBar); //设置菜单拦
Record.addActionListener(new FileActionListener(RECORD));
Find.addActionListener(new FileActionListener(FIND));
Rework.addActionListener(new FileActionListener(REWORK));
Del.addActionListener(new FileActionListener(DEL));
BRecord.addActionListener(new FileActionListener(BRECORD));
BFind.addActionListener(new FileActionListener(BFIND));
BRework.addActionListener(new FileActionListener(BREWORK));
BDel.addActionListener(new FileActionListener(BDEL));
Reset.addActionListener(new FileActionListener(RESET));
BC.addActionListener(new FileActionListener(CBC));
BJava.addActionListener(new FileActionListener(CBJAVA));
BMath.addActionListener(new FileActionListener(CBMATH));
setPanelRecord(); //设置各个板块
setPanelFind();
setPanelRework();
setPanelDel();
BigPanel.add(PanelRecord); //把各个板块加入到容器中
BigPanel.add(PanelFind);
BigPanel.add(PanelRework);
BigPanel.add(PanelDel);
content.add(BigPanel,BorderLayout.NORTH);
table=new JTable(tm); //生成自己的数据模型
table.setToolTipText("Display,goodboy");//设置帮助提示
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent e)
{
System.out.println("row numbers is :"+table.getRowCount());//获取表格的总行数
//获取鼠标点击的行的位置(及行数)
Point mousepoint;
mousepoint =e.getPoint();
System.out.println(table.rowAtPoint(mousepoint)+1);
System.out.println("Mouse OK!");
row=0;
row=table.rowAtPoint(mousepoint);
if(row<0) row=0;
Object row_no=table.getValueAt(row,0);
Object row_name=table.getValueAt(row,1);
Object row_score=table.getValueAt(row,2);
TextNO.setText(row_no.toString());
TextName.setText(row_name.toString());
if(row_score != null){TextScore.setText(row_score.toString());}
else{TextScore.setText("0");}
no = row_no.toString();
name = row_name.toString();
score = row_score.toString();
row++;
System.out.println("选择了第"+row+"行");
State.setText("第"+row+"行");
}
});
table.setAutoResizeMode(table.AUTO_RESIZE_SUBSEQUENT_COLUMNS);//设置表格调整尺寸模式
//table.setCellSelectionEnabled(false); //设置单元格选择方式
table.setShowHorizontalLines(true); //设置单元格之间的分割线 显示
table.setShowVerticalLines(true);
scroll = new JScrollPane(table); //给table加上滚动条
scroll.setPreferredSize(new Dimension(530,200));
content.add(scroll);
ReSetTable();
content.add(State,BorderLayout.SOUTH);
}
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("连接数据库成功");
}
catch(ClassNotFoundException ce)
{
System.out.println("SQLException:"+ce.getMessage());
System.out.println("连接数据库不成功");
}
}
public void ReSetTable() //刷新Table
{
LinkAccess();
try{
//Connection con = DriverManager.getConnection("jdbc:odbc:Student");
Connection con = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/student.mdb");
Statement stmt = con.createStatement();
ResultSet rSet=stmt.executeQuery("select * from "+Scourse+" order by ID");//将查询得到的结果集给rs
vector.removeAllElements(); //初始化向量对象
tm.fireTableStructureChanged(); //更新表格内容
while(rSet.next())
{
Vector rec_vector = new Vector();
rec_vector.addElement(rSet.getString(1));
rec_vector.addElement(rSet.getString(2));
rec_vector.addElement(String.valueOf(rSet.getString(3)));
vector.addElement(rec_vector);
}
tm.fireTableStructureChanged();
System.out.println("刷新"+Scourse+"课程的数据成功!");
stmt.close();
con.close();
}
catch(SQLException ex)
{
System.out.println("\nERROR:-----SQLEXCEPTION------\n");
while(ex!=null)
{
System.out.println("Message:"+ ex.getMessage());
System.out.println("SQLState:"+ ex.getSQLState());
System.out.println("ErrorCode:"+ ex.getErrorCode());
ex = ex.getNextException();
}
}
}
public void RecordAccess() //录入Table
{
LinkAccess();
try
{
// Connection con = DriverManager.getConnection("jdbc:odbc:Student");
Connection con = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/student.mdb");
Statement stmt = con.createStatement();
String sql="insert into "+Scourse+"(ID,Name,Score) values ('"+TextNO.getText()+"','"+TextName.getText()+"',"+Integer.parseInt(TextScore.getText())+");";
stmt.executeUpdate(sql);
TextNO.setText("");
TextName.setText("");
TextScore.setText("");
stmt.close();
con.close();
}
catch(SQLException ex)
{
System.out.println("\nERROR:-----SQLEXCEPTION------\n");
while(ex!=null)
{
System.out.println("Message:"+ ex.getMessage());
System.out.println("SQLState:"+ ex.getSQLState());
System.out.println("ErrorCode:"+ ex.getErrorCode());
ex = ex.getNextException();
}
}
}
public void FindAccess() //查找Table
{
LinkAccess();
try{
//Connection con = DriverManager.getConnection("jdbc:odbc:Student");
Connection con = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/student.mdb");
Statement stmt = con.createStatement();
String sql;
if(FindList.getSelectedItem()=="学号")
sql="select * from "+Scourse+" where ID='"+TextFind.getText()+"'order by ID ;";
else
sql="select * from "+Scourse+" where Name='"+TextFind.getText()+"'order by Score desc;";
ResultSet rSet=stmt.executeQuery(sql);//将查询得到的结果集给rs
vector.removeAllElements(); //初始化向量对象
tm.fireTableStructureChanged(); //更新表格内容
while(rSet.next())
{
Vector rec_vector = new Vector();
rec_vector.addElement(rSet.getString(1));
rec_vector.addElement(rSet.getString(2));
rec_vector.addElement(String.valueOf(rSet.getString(3)));
vector.addElement(rec_vector);
}
tm.fireTableStructureChanged();
System.out.println("查找成功!");
State.setText("查找成功");
stmt.close();
con.close();
}
catch(SQLException ex)
{
System.out.println("\nERROR:-----SQLEXCEPTION------\n");
System.out.println("查找不成功!");
State.setText("查找不成功");
while(ex!=null)
{
System.out.println("Message:"+ ex.getMessage());
System.out.println("SQLState:"+ ex.getSQLState());
System.out.println("ErrorCode:"+ ex.getErrorCode());
ex = ex.getNextException();
}
}
}
public void ReworkAccess() //修改table
{
LinkAccess();
try
{
//Connection con = DriverManager.getConnection("jdbc:odbc:Student");
Connection con = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/student.mdb");
Statement stmt = con.createStatement();
String sql="update "+Scourse+" set ID='"+TextNO.getText()+"',Name='"+TextName.getText()+"',Score="+Integer.parseInt(TextScore.getText())+" where ID='"+no+"'";
stmt.executeUpdate(sql);
System.out.println("修改成功!");
State.setText("修改成功!");
no = TextNO.getText();
name = TextName.getText();
score = TextScore.getText();
stmt.close();
con.close();
}
catch(SQLException ex)
{
System.out.println("\nERROR:-----SQLEXCEPTION------\n");
while(ex!=null)
{
System.out.println("Message:"+ ex.getMessage());
System.out.println("SQLState:"+ ex.getSQLState());
System.out.println("ErrorCode:"+ ex.getErrorCode());
ex = ex.getNextException();
}
}
}
public void DelAccess()
{
LinkAccess();
try
{
// Connection con = DriverManager.getConnection("jdbc:odbc:Student");
Connection con = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=DataBase/student.mdb");
Statement stmt = con.createStatement();
String sql="delete from "+Scourse+" where ID='"+TextNO.getText()+"'and Name='"+TextName.getText()+"';";
stmt.executeUpdate(sql);
stmt.close();
con.close();
}
catch(SQLException ex)
{
System.out.println("\nERROR:-----SQLEXCEPTION------\n");
while(ex!=null)
{
System.out.println("Message:"+ ex.getMessage());
System.out.println("SQLState:"+ ex.getSQLState());
System.out.println("ErrorCode:"+ ex.getErrorCode());
ex = ex.getNextException();
}
}
}
{
PanelRecord.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"录入"));
PanelRecord.setLayout(new FlowLayout());
PanelRecord.add(LaNO);
PanelRecord.add(TextNO);
PanelRecord.add(LaName);
PanelRecord.add(TextName);
PanelRecord.add(LaScore);
PanelRecord.add(TextScore);
PanelRecord.add(BRecord);
PanelRecord.setVisible(false);
}
public void setPanelFind() //设计查找板块视图
{
PanelFind.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"查找"));
PanelFind.setLayout(new FlowLayout());
PanelFind.add(new JLabel("按照"));
PanelFind.add(FindList);
PanelFind.add(TextFind);
PanelFind.add(BFind); PanelFind.setVisible(false);
}
public void setPanelRework() //设计修改板块视图
{
PanelRework.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"修改"));
PanelRework.setLayout(new FlowLayout());
PanelRework.add(LaNO);
PanelRework.add(TextNO);
PanelRework.add(LaName);
PanelRework.add(TextName);
PanelRework.add(LaScore);
PanelRework.add(TextScore);
PanelRework.add(BRework); PanelRework.setVisible(false);
}
public void setPanelDel() //设计删除板块视图
{
PanelDel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),"删除"));
PanelDel.setLayout(new FlowLayout());
PanelDel.add(LaNO);
PanelDel.add(TextNO);
PanelDel.add(LaName);
PanelDel.add(TextName);
PanelDel.add(LaScore);
PanelDel.add(TextScore);
PanelDel.add(BDel); PanelDel.setVisible(false);
}
public void HidePanel()
{
PanelRecord.setVisible(false);
PanelFind.setVisible(false);
PanelRework.setVisible(false);
PanelDel.setVisible(false);
}
class FileActionListener implements ActionListener //事件处理内部类
{
int fileType=RECORD; //File菜单项
FileActionListener(int type) //构造方法:设置菜单项
{
fileType=type;
}
public void actionPerformed(ActionEvent e) //事件处理方法
{
switch (fileType)
{
case RECORD:
HidePanel();
setPanelRecord();
PanelRecord.setVisible(true);
break;
case FIND:
HidePanel();
PanelFind.setVisible(true);
break;
case REWORK:
HidePanel();
setPanelRework();
PanelRework.setVisible(true);
break;
case DEL:
HidePanel();
setPanelDel();
PanelDel.setVisible(true);
break;
case RESET:
HidePanel();
ReSetTable();
State.setText("刷新"+Scourse+"课程的数据成功!");
break;
case ABOUT:
HidePanel();
setPanelDel();
PanelDel.setVisible(true);
break;
case EXIT:
myWindow.setVisible(false);
break;
case BRECORD:
RecordAccess();
ReSetTable();
State.setText("录入到"+Scourse+"课程的数据成功!");
break;
case BFIND:
FindAccess();
State.setText("查找指定"+Scourse+"课程的数据成功!");
break;
case BREWORK:
ReworkAccess();
ReSetTable();
State.setText("修改"+Scourse+"课程的数据成功!");
break;
case BDEL:
DelAccess();
ReSetTable();
State.setText("删除"+Scourse+"课程的数据成功!");
break;
case CBC:
Scourse = "C";
System.out.println(Scourse);
ReSetTable();
State.setText("刷新"+Scourse+"课程的数据成功!");
break;
case CBJAVA:
Scourse = "Java";
System.out.println(Scourse);
ReSetTable();
State.setText("刷新"+Scourse+"课程的数据成功!");
break;
case CBMATH:
Scourse = "Math";
System.out.println(Scourse);
ReSetTable();
State.setText("刷新"+Scourse+"课程的数据成功!");
break;
}
}
}
public final static ScoreSystem myWindow = new ScoreSystem("学生成绩管理系统");
public static void main(String args[])
{
myWindow.setFont(new Font("楷体",Font.PLAIN,12));
myWindow.setBounds(10,10,500,500);
myWindow.setVisible(true);
}
}不好意思,代码有点长。