资源简介
用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
相关资源
- 152G的java全套资源.zip
- Java烟花特效(含源码).
- Java 中国象棋
- java 通过UDP实现一对多聊天室
- js上传zip文件java解压.txt
- java 课程设计 JPEG图片操作
-
java ba
se64的jar包 - java+jsp+oracle实现基本的用户管理系统
- java swing 企业人事管理系统(含数库)
- java+sql学生成绩管理系统有文档.rar
- Java+SQL2000学籍信息管理子系统课程设
- javafx删除table行的demo
- java串口通讯源码
- javaMail 用三种方式实现发送附件
- Google 推出的 Java 编码规范
- java 实现支付宝接口
- java,Eclipse,ATM自动柜台模拟系统
- DFA NFA java实现
- java农夫过河问题
- 图书进存销系统java完整代码
- GN算法Java版源码,个人鼎作
- java课程设计 客房管理系统
- c调用java的
- JAVA爬虫项目源代码
- java 聊天室 计算机网络
- JAVA算术编码
- 小叮当代码JAVA.rar
- java多线程文件传输基于swing
- SpringBoot实现Socket.io消息推送(java+h
- 图书馆管理系统java+S2SH+MySQL
评论
共有 条评论