因为要做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.   

    因为不会上传文件所以。//ScoreSystem.java//其中创建Access数据库的sql语句为://create table C(ID text(8),Name text(10),Score long);
    //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);
      
     }
      

  2.   

     public void LinkAccess()                  //数据库连接
     {
      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();
       }
      }
     }
     
     
      

  3.   

     public void setPanelRecord()          //设计录入板块视图
     {
      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);
     }
    }不好意思,代码有点长。 
      

  4.   

    下最新的jdk再试。不是1.4吧?
      

  5.   

    不好意思,请了一个java高手解决了,文件命名有误,原来主类的名字是ScoreSystem,虽然仍出现 “使用了未经检查或不安全的操作”, 但运行起来了
      

  6.   

    csdn回复  论坛 是不是 针对一个帖子 可以回复多少条都可以  不断加分  还是 针对一个帖子只需回复一条