sview.java

来自「java 电梯调度程序 5部电梯 20层楼」· Java 代码 · 共 65 行

JAVA
65
字号
/*
 * Created on 2004-5-10
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */

/*SView is view of all threads */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JFrame;

class CallListener implements ActionListener{
	private SView sv;
	public CallListener( SView f){
		sv = f;
	}
	public void actionPerformed( ActionEvent e ){
		String strDest = e.getActionCommand();
		int iDest = Integer.parseInt(strDest);
		synchronized ( sv.scheduler ){
			Scheduler.dest = iDest;
			sv.scheduler.notify();
		}
		System.out.println(iDest);
	}
}

class SView extends JFrame {
	TubePanel [] tubePanels = new TubePanel[5];
	private JButton [] buttons = new JButton[20];
	private CallListener callListener;
	Scheduler scheduler ;
	public SView( Scheduler s ){
		
		this.scheduler = s;
		this.setSize(500,600);
		this.setResizable(false);
		Container cp = this.getContentPane();
		cp.setLayout(null);
		callListener = new CallListener( this);
		for( int i = 0, x = 0; i < 5; i ++ ){
			tubePanels[i] = new TubePanel();
			cp.add(tubePanels[i]);
			tubePanels[i].setLocation(x, 50);
			x += 60;
		}
				
		for( int j = 0; j < 20; j ++){
			buttons[19-j] = new JButton( ""+(20-j)  );
			buttons[19-j].setLocation(300, 50 + j*20 );
			buttons[19-j].setSize(100,20);
			buttons[19-j].addActionListener( callListener );
			cp.add(buttons[19-j]);			
		}
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		show();
	
	}
	
	
}

⌨️ 快捷键说明

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