⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 panelforgrade.java

📁 学生学籍管理系统
💻 JAVA
字号:
 package E4;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import javax.swing.table.*;
import javax.swing.event.MouseInputListener;  
import javax.swing.table.AbstractTableModel;
import javax.swing.event.*;

 //显示信息
class panelForGrade extends JPanel implements ActionListener,TableModelListener,ListSelectionListener
 { 
   public static JTable table;
    public static int jishu;
    
    Table_Model_2 tm = new Table_Model_2(); 
    Object SC [] = new Object[6];
    
    public static JLabel showNum=new JLabel("人数为:"+jishu);
    public static int tableRow = 0;
    public static int tableColumn = 0; 
    
    JPanel jpl=new JPanel();
    JButton jPaixu=new JButton("排序");
    JButton jFind=new JButton("查找");
    JButton jRefresh=new JButton("刷新");
    
    JPopupMenu popupMenu=new JPopupMenu(); //鼠标右键 
    JMenuItem findInfor=new JMenuItem("查找记录");
    JMenuItem compositor=new JMenuItem("排序");
    JMenuItem fresh = new JMenuItem("刷新");

    framForCompositor ffc;//排序界面
    SearchForSC sfs;//查找界面
    proceeSQL psql;
    
    ListSelectionModel selectionMode=null;
    
   panelForGrade(JFrame f,String s,boolean b)
   {
   	
   
   //	super(f);

   	ffc = new framForCompositor(f,"排序",b);
   	sfs = new SearchForSC(f,"查找成绩信息",b);

   	psql = new proceeSQL();
   	
    //setSize(800,450);
    super.setVisible(true);
    super.setLayout(new BorderLayout(9,9));
    //生成200X4的表格
    tm.addTableModelListener(this);  
    jishu = psql.getSC(tm.content);     
    showNum.setText(("总数为:"+jishu));
    table=new JTable(tm);
     //生成菜单条,菜单项,菜单(包括FRAME和DIALOG) 
     


    popupMenu.add(findInfor);
    popupMenu.addSeparator();
    popupMenu.add(compositor);
    popupMenu.addSeparator();
    popupMenu.add(fresh);
    findInfor.addActionListener(this);
    compositor.addActionListener(this);  
    fresh.addActionListener(this);
    
     
   MouseInputListener   mil   =   new   MouseInputListener()   {  
   
  public   void   mouseClicked(MouseEvent   e)   {  
  processEvent(e);  
  }  
   
  public   void   mousePressed(MouseEvent   e)   {  
  processEvent(e);  
  }  
   
  public   void   mouseReleased(MouseEvent   e)   {  
  processEvent(e);  
  if   ((e.getModifiers()   &   MouseEvent.BUTTON3_MASK)   !=   0)   {  
  popupMenu.show(table,   e.getX(),   e.getY());  
  }  
  }  
   
  public   void   mouseEntered(MouseEvent   e)   {  
  processEvent(e);  
  }  
   
  public   void   mouseExited(MouseEvent   e)   {  
  processEvent(e);  
  }  
   
  public   void   mouseDragged(MouseEvent   e)   {  
  processEvent(e);  
  }  
   
  public   void   mouseMoved(MouseEvent   e)   {  
  processEvent(e);  
  }  
   
  private   void   processEvent(MouseEvent   e)   {  
  if   ((e.getModifiers()   &   MouseEvent.BUTTON3_MASK)   !=   0)   {  
  MouseEvent   ne   =   new   MouseEvent(  
  e.getComponent(),   e.getID(),    
  e.getWhen(),   MouseEvent.BUTTON1_MASK,    
  e.getX(),   e.getY(),   e.getClickCount(),   false);  
  table.dispatchEvent(ne);  
  }  
  }  
   
  };  
  
  table.addMouseListener(mil);  
  table.addMouseMotionListener(mil);
  selectionMode=table.getSelectionModel();//取得table的ListSelectionModel.
  selectionMode.addListSelectionListener(this); 
     

     
    jpl=new JPanel(); 

    jpl.add(jPaixu);

    jpl.add(jFind);

    jpl.add(jRefresh);

    jpl.add(showNum);
    jpl.setLayout(new GridLayout(9,1,2,9));
     
    super.add(jpl,BorderLayout.WEST);    
    super.add(new JScrollPane(table));     

     jPaixu.addActionListener(this);

     jFind.addActionListener(this);

     jRefresh.addActionListener(this);
    
     sfs.pfscn.handin.addActionListener(this);
     sfs.pfscla.handin.addActionListener(this);
     sfs.pfsco.handin.addActionListener(this);
     sfs.pfsCourseName.handin.addActionListener(this);
     sfs.pfsi.handin.addActionListener(this);
     sfs.pfsn.handin.addActionListener(this);

     
   }
   
   
   public static void setTabelDisplay(Boolean tf){
   	    table.setVisible(tf);
   }
   
   public void reFresh(){

   table.setVisible(false);
   tm.content.removeAllElements();
   jishu =  psql.getSC(tm.content); 
   table.setVisible(true);
   showNum.setText("总数为:"+jishu);
     
   }
   
  public void valueChanged(ListSelectionEvent el){

   	    tableRow =table.getSelectedRow();
        tableColumn =table.getSelectedColumn();

  }
   
   public void tableChanged(TableModelEvent e)//选中某一列,就吧他的值传到上面的信息栏中
    {  
    	int row =e.getFirstRow();
        int column = e.getColumn();      
        SC[0] = tm.getValueAt(row,1);
        SC[1] = tm.getValueAt(row,2);
        SC[2] = tm.getValueAt(row,3);
        SC[3] = tm.getValueAt(row,4);
        SC[4] = tm.getValueAt(row,5);
        SC[5] = tm.getValueAt(row,6);
        psql.UpdateSC(SC);
       
       reFresh();
        
    }
    
   
   public void actionPerformed(ActionEvent e){

   	
   if(e.getSource()==jFind){
   		sfs.setDisplay(true);
   	}
   	

   
   	
   	else if(e.getSource()==jPaixu){
   		ffc.setDisplay(true);
   	}
   	
   	else if(e.getSource()==jRefresh||e.getSource()==fresh){
  		reFresh();
   	}
   	
   	 else if(e.getSource()==sfs.pfscla.handin){
   	 	table.setVisible(false);
   	 	tm.content.removeAllElements();
  		jishu = psql.SearchSCByClasses(tm.content,sfs.pfscla.classes.getSelectedItem());
  		table.setVisible(true);
   	}
   	
   	else if(e.getSource()==sfs.pfscn.handin){
   		table.setVisible(false);
   		tm.content.removeAllElements();
  		jishu = psql.SearchSCByCno(tm.content,sfs.pfscn.jf_id.getText());
  		table.setVisible(true);
   	}
   	
   	else if(e.getSource()==sfs.pfsco.handin){
   		table.setVisible(false);
   		tm.content.removeAllElements();
   		jishu = psql.SearchSCByCollege(tm.content,sfs.pfsco.college.getSelectedItem());
  		table.setVisible(true);
   	}
   	
   	else if(e.getSource()==sfs.pfsCourseName.handin){
   		table.setVisible(false);
   		tm.content.removeAllElements();
   		jishu = psql.SearchSCByCname(tm.content,sfs.pfscn.jf_id.getText());
  		table.setVisible(true);
   	}
   	
   	else if(e.getSource()==sfs.pfsi.handin){
   		table.setVisible(false);
   		tm.content.removeAllElements();
   		jishu = psql.SearchSCBySno(tm.content,sfs.pfsi.jf_id.getText());
  		table.setVisible(true);
   	}
   	
    else if(e.getSource()==sfs.pfsn.handin){
    	table.setVisible(false);
    	tm.content.removeAllElements();
    	jishu = psql.SearchSCBySname(tm.content,sfs.pfsn.jf_id.getText());
  		table.setVisible(true);
   	}   	
   	
   	
   	}
}

 class Table_Model_2 extends AbstractTableModel   {
  	   
   public Vector content = new Vector();   
   String[] title_name = {"序号","学号","姓名","课程号","课程名","分数","学期"}; 
   
   Object TMInfor [] = new Object[7]; 
      
      public   String   getColumnName(int   col)   {   
                  return   title_name[col];   
          }   
    
          public   int   getColumnCount()   {   
                  return   title_name.length;   
          }   
    
          public   int   getRowCount()   {   
                  return   content.size();   
          }   
    
          public   Object   getValueAt(int   row,   int   col)   {   
                  return   (   (Vector)   content.get(row)).get(col);   
          }
          
      	public boolean isCellEditable(int rowIndex, int columnIndex) {
		return true;	
          }  
      
	    public void setValueAt(Object value, int row, int col) {
         //  content.setElementAt(value,)
         for(int i=0;i<7;i++)
            TMInfor[i] = ((Vector)content.get(row)).get(i);
            TMInfor[col] = value;
            Vector temp_v = new Vector(7);
         for(int i=0;i<7;i++)
            temp_v.add(TMInfor[i]);
            content.setElementAt(temp_v,row);
        	fireTableCellUpdated(row, col);
        }
    
        public void mySetValueAt(Object value, int row, int col) {

        }
    
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -