资源简介
用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
相关资源
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
评论
共有 条评论