資源簡介
用java編寫的模擬操作系統進程調度程序,使用了swing組件,具有十分友好的調度界面,含三種調度算法分別是:先進先出、基于優先度優先和最短執行時間調度算法

代碼片段和文件信息
package?com.Demo_2;
import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.WindowAdapter;
import?java.awt.event.WindowEvent;
import?java.net.*;
import?java.util.linkedList;
import?java.util.Random;
//程序啟動界面
public??class?JWindowDemo?extends?JWindow?implements?Runnable?{
??Thread?splashThread;??//進度條更新線程
??JProgressBar?progress;?//進度條
??
??public?JWindowDemo()?{
?? ?Container?container=getContentPane();?//得到容器
????setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));??//設置光標
????URL?url?=?getClass().getResource(“未.jpg“);?//圖片的位置
????if(url?!=?null){
??????container.add(new?JLabel(new?ImageIcon(url))BorderLayout.CENTER);??//增加圖片
????}
????progress?=?new?JProgressBar(1100);?//實例化進度條
????progress.setStringPainted(true);?//描繪文字
????progress.setString(“加載程序中請稍候......“);??//設置顯示文字
????progress.setBackground(Color.blue);??//設置背景色
????container.add(progressBorderLayout.SOUTH);??//增加進度條到容器上
????Dimension?screen?=?getToolkit().getScreenSize();??//得到屏幕尺寸
????pack();?//窗口適應組件尺寸
????setLocation((screen.width-getSize().width)/2(screen.height-getSize().height)/2);?//設置窗口位置
??}
??public?void?start(){
????this.toFront();??//窗口前端顯示
????splashThread=new?Thread(this);??//實例化線程
????splashThread.start();??//開始運行線程
??}
??public?void?run(){
????setVisible(true);?//顯示窗口
????try?{
??????for?(int?i=0;i<100;i++){
????????Thread.sleep(80);?//線程休眠
????????progress.setValue(progress.getValue()+1);?//設置進度條值
??????}
????}
????catch?(Exception?ex)?{
??????ex.printStackTrace();
????}
????dispose();?//釋放窗口
????showframe();?//運行主程序
??}
void?showframe(){
??win?w=new?win();
w.setVisible(true);
? ?? ??
? ?? ???w.addWindowListener(new?WindowAdapter()
? ?? ???{
? ?? ??? ?public?void?windowClosing(WindowEvent?e)
? ?? ??? ??{
? ?? ??? ?? System.exit(0);
? ?? ??? ??}
? ?? ???});
??}
??//進程類
??class?Process{?
???private?String??name;?
???private?int?????state;?????//0?表示就緒?1等待?
???private?int?????sort;??????//優先級,sort越大優先級越高隨機產生(1-5)?
???private?int?????time;??????//執行時間?
???private?Random?rd=new?Random();??????//用于產生隨機數?
?
???Process?(String?in_name){?
?????????name=in_name;?
?????????time=rd.nextInt(20)+1;?????????//隨機產生0到19的整數?
?????????sort=rd.nextInt(5)+1;?
???}?
???int?Begin_state(){?
?
??????state=rd.nextInt(2);??????????//返回隨機產生的0或1,用于判斷處于就緒還是等待隊列?
??????return?state;?
???}?
???String?getName(){?
?????return?name;??
???}?
???int?getTime(){?
?????return?time;?
???}?
???void?setTime(int?inputtime){?
??????time=inputtime;?
???}?
???int?getSort(){?
??????return?sort;?
???}?
???void?print(){?
??????System.out.println(“進程名?“+name+“??“+“執行所需時間“+time+“ms“+“\t\t“+“進程狀態:?“+state+“\t“+“優先數??“+sort);
??????
???}?
???String?display(){
???String?d=“進程名?“+name+“??“+“執行所需時間“+time+“ms“+“\t\t“+“進程狀態:?“+state+“\t“+“優先數??“+sort;
???return?d;
???}
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????19227??2012-12-05?21:07??進程調度\JWindowDemo.java
?????文件????????4882??2012-12-05?20:22??進程調度\未.jpg
?????文件??????120044??2012-12-05?21:26??進程調度\進程調度.exe
?????目錄???????????0??2013-01-13?10:39??進程調度\
- 上一篇:Java煙花特效(含源碼).
- 下一篇:152G的java全套資源.zip
評論
共有 條評論