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

📄 tutor.java

📁 基于RMI的学生成绩管理程序,实现了线程,事件模型.
💻 JAVA
字号:
/*
 * Tutor.java
 *
 * Created on 2005年11月23日, 下午1:38
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */



/**
 *
 * @author 和尚
 */
import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.rmi.*;
import java.lang.Thread;
import java.util.*; 

public class Tutor extends JFrame implements ActionListener,Runnable{
    
    /** Creates a new instance of Tutor */
        String studentname;
        String course;
        int mark;
        private boolean iokClicked=false;
        private boolean iexitClicked=false;
        private Thread iThread;
        private Vector iStudentinfoImpl=new Vector();
        FlowLayout flowLayout = new FlowLayout();
        String m="ok";
        
	JLabel     jLabel = new JLabel("Do you have information changed?");
	//JTextField jTextField1 = new JTextField(8);
        //JLabel     jLabel2 = new JLabel("Couse:");
        //JTextField jTextField2 = new JTextField(8);
	//JLabel     jLabel3 = new JLabel("Mark:");
        //JTextField jTextField3 = new JTextField(8);
	JButton    jButton = new JButton("Yes");
	
	public Tutor()
	{
                super("Tutor");
                setSize(250,100);
		iThread=new Thread(this);
                iThread.start();
		//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.getContentPane().setLayout(flowLayout);
		this.getContentPane().add(jLabel);
		//this.getContentPane().add(jTextField1); 		 
		//this.getContentPane().add(jLabel2); 
		//this.getContentPane().add(jTextField2); 
                //this.getContentPane().add(jLabel3); 
		//this.getContentPane().add(jTextField3);
                this.getContentPane().add(jButton);
		jButton.addActionListener(this);
		show();
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==jButton)
		{
                       try{
	                    // studentname=jTextField1.getText();
                            // course=jTextField2.getText();
                            // mark=Integer.parseInt(jTextField3.getText());                         
                             iokClicked=true; 
                             iThread.resume();
                            }
                        catch(Exception ex)
                            {
	                     ex.printStackTrace();
                            }
                        finally { System.exit(0);}
		}
	
	}
                public void run(){
            while(true){
                if(iokClicked){
                    String message=m;
                    ScoreEvent event = new ScoreEvent(message);
                    sendMessage(event);
                    iokClicked=false;
                }
                else{
                    iThread.suspend();
                }
            }        
        }
                
    	public synchronized void addScoreListener(ScoreListener aListener){
		iStudentinfoImpl.addElement(aListener);
	}
	public synchronized void removeScoreListener(ScoreListener aListener){
		iStudentinfoImpl.removeElement(aListener);
	}
        private void sendMessage(ScoreEvent anEvent){
            Vector v;
            synchronized(this){
                v=(Vector)iStudentinfoImpl.clone();
        }
        for(int i=0;i<v.size();i++){
            ScoreListener sl=(ScoreListener)v.elementAt(i);
            sl.scoreStatus(anEvent);
        }
    }
       // public static void main(String args[]){
        //    Tutor t=new Tutor();
          //  StudentinfoImpl s=new StudentinfoImpl();
           // t.addScoreListener(s);            
       // }
}

⌨️ 快捷键说明

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