JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本
package System2; import javax.swing.*; import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.util.*;
/**
* 作者:范铭祥
* 内容及功能: 显示框创造1.0
* 我将在这个类里 一:面板1:用来先显示一副图表示顺序和处理中
* 二:面板2:类1:用来显示要处理的项 接收 A在排队的颜色任务图
* B在处理中的颜色任务图
* 包含了四个类:1 PCB类 2先来先服类
* 3 短作业优先算法 4 响应比者高优先算法
* 注:以上均采用ArrayList集合的方法
* 四:面板4:2个按钮 1个Text文本框
* 按钮1对应每3个分页框 按钮2对应3个分页框 分别有三种不同的做法
* text文本接收 按钮一传来的页框号从而 获取相应的分页框信息
*
*第一次日志: 监听的事件处理方法变量是出不来,但方法可进进哦。
* 明天我就试在原类更新面板,因为用户是录完才点击开始按钮,所以不断刷新不影响用户
* 输入。
*第二次日志:当我做完了整个界面face2看完效果后,当时我就不乐意了,因为如果用户要在不同的面版上
*输入3次才可完全享受3中操作系统处理方法,最让我难受的是不能单独刷新面板的某一部分,所以我只能
*采用刷新JFrame的方法,终于实现了时间不断自动跳转但问题出现了,用户的输入接面也在不断刷新
*/
public class face3 extends JFrame implements ActionListener,Runnable{
/*其它*/ int choose=0; /*外围*/ JPanel jp0;
JSplitPane jsp;//可收缩面板
JTextArea jta;
JScrollPane gun;//设置滚动框 /**/ JLabel jlb1;
JPanel jp1; /**/ JPanel jp2;
JPanel jp22;
JPanel jp222;
JLabel jlb2;//用来接替第二部分
JLabel[] no = new JLabel[11];
JLabel[] lan= new JLabel[11];
JLabel lan2;
public int all1;
int Atime=all1;
public int all2;
int now;
/*2x*/
JPanel x2,x2_1,x2_2,x2_3;
JCheckBox jcb_1,jcb_2,jcb_3;//选择按钮
ButtonGroup bg;//only one选择组 /**/ JPanel jp_1;//属于 jp3 属于第三部分的分页框面板 //
/*以下部分很重要 是该系统一大部分 录入*/
//
JPanel[] jp2a_1=new JPanel[12];
JLabel[] jl2b_1=new JLabel[12];//打是X任务标签的
JLabel jl2c1_1[]=new JLabel[12];
JLabel jl2c2_1[]=new JLabel[12]; /**/ JPanel jp4,jp4x2;
JButton jb_1,jb_2;
public static final int one_ge = 50;//代表一幅图的宽度 public static void main(String[] args)
{
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
face3 face33=new face3();
//启动face33线程
Thread t=new Thread(face33);
t.start();
}
public face3()
{ //全部在这定义
jp0=new JPanel();
jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
/*可以伸缩*/jsp.setOneTouchExpandable(true);
jta=new JTextArea("!!!以后操作细节将在这里显示!!!\n");
gun=new JScrollPane(jta);
jlb1=new JLabel(new ImageIcon("F:/text/pai.png"));
jp1=new JPanel();
jp2=new JPanel();
jp22=new JPanel();
jp222=new JPanel();
jlb2=new JLabel(Atime+"秒");
jlb2.setBackground(Color.RED);
jlb2.setFont(new java.awt.Font("Dialog", 1, 77));
jlb2.setForeground(Color.red);
x2=new JPanel();
x2.setLayout(new BorderLayout());
x2_1=new JPanel();
x2_2=new JPanel();
x2_3=new JPanel();
jcb_1=new JCheckBox("先来先服务");
jcb_2=new JCheckBox("短作业优先");
jcb_3=new JCheckBox("响应比者高优先");
//一定要把 jrb1 jrb2 放入到一个ButtonGroup
ButtonGroup bg=new ButtonGroup();
bg.add(jcb_1);
bg.add(jcb_2);
bg.add(jcb_3);
x2_2.add(jcb_1);
x2_2.add(jcb_2);
x2_2.add(jcb_3);
x2.add(x2_1,BorderLayout.WEST);
x2.add(x2_2,BorderLayout.CENTER);
x2.add(x2_3,BorderLayout.EAST);
jp_1=new JPanel();
jp_1.setLayout(new GridLayout(1,11));
JTextField jtf21_1[]=new JTextField[12];
JTextField jtf22_1[]=new JTextField[12];
//第一复页面板
for(int i=1;i<=11;i++)
{
jp2a_1[i]=new JPanel();
jl2c1_1[i]=new JLabel("到达时间(秒)");
jl2c1_1[i].setFont(new java.awt.Font("宋体", 1, 10));
jl2c1_1[i].setForeground(Color.red);
jl2c2_1[i]=new JLabel("运行时间(秒)");
jl2c2_1[i].setFont(new java.awt.Font("宋体", 1, 10));
jl2c2_1[i].setForeground(Color.blue);
jtf21_1[i]=new JTextField(5);
jtf21_1[i].setFont(new java.awt.Font("宋体", 1, 35));
jtf21_1[i].setForeground(Color.red);
jtf22_1[i]=new JTextField(5);
jtf22_1[i].setFont(new java.awt.Font("宋体", 1, 35));
jtf22_1[i].setForeground(Color.blue);
jp2a_1[i].setLayout(new GridLayout(5,1)); switch(i)
{
case 1:
jl2b_1[i]=new JLabel(" 任务A");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 30));
jl2b_1[i].setForeground(Color.red);
break;
case 2:
jl2b_1[i]=new JLabel(" 任务B");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 3:
jl2b_1[i]=new JLabel(" 任务C");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 4:
jl2b_1[i]=new JLabel(" 任务D");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 5:
jl2b_1[i]=new JLabel(" 任务E");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 6:
jl2b_1[i]=new JLabel(" 任务F");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 7:
jl2b_1[i]=new JLabel(" 任务G");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 8:
jl2b_1[i]=new JLabel(" 任务H");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 9:
jl2b_1[i]=new JLabel(" 任务I");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 10:
jl2b_1[i]=new JLabel(" 任务J");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
case 11:
jl2b_1[i]=new JLabel(" 任务K");
jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15));
jl2b_1[i].setForeground(Color.red);
break;
}
jp2a_1[i].add(jl2b_1[i]);
jp2a_1[i].add(jl2c1_1[i]);
jp2a_1[i].add(jtf21_1[i]);
jp2a_1[i].add(jl2c2_1[i]);
jp2a_1[i].add(jtf22_1[i]);
jp_1.add(jp2a_1[i]);
}
jp4x2=new JPanel();
jb_1=new JButton();
jb_2=new JButton();
lan2=new JLabel(new ImageIcon("F:/text/lan2.png"));
jp0.setLayout(new BorderLayout());
//第一栏
jp1.setLayout(new GridLayout(2,1));
jp1.add(jlb1);
jp1.add(jp2);
jp2.setLayout(new BorderLayout());
jp2.add(jp22,BorderLayout.CENTER);
/*将等待图加到jp22*/jp22.setLayout(null);
jp22.setBackground(Color.WHITE);
for (int i = 0; i<11; i++)
{
no[i] = new JLabel(new ImageIcon("F:/text/no.png"));
jp22.add(no[i]);
no[i].setBounds(i*48+14*i, 0, 48, 134);
lan[i] =new JLabel(new ImageIcon("F:/text/lan.png"));
jp22.add(lan[i]);
lan[i].setBounds((i-1)*14+i*48,0 , 14, 134);
/* 控制图像的位置大小 */
}
jp22.add(lan2);
lan2.setBounds(860,0,14, 134);
jp222.add(jlb2);
jp2.add(jp222,BorderLayout.EAST);
//第三栏
// jp_1.setBackground(Color.RED);//给面板设置背景颜色
//第四栏
jp4x2=new JPanel();
jp4x2.setLayout(new GridLayout(2,1));
jp4=new JPanel();
jp4.setLayout(new GridLayout(1,2));
jb_1=new JButton("确定录完");
jb_2=new JButton("开始任务");
jp4x2.add(x2);
jp4x2.add(jp4);
/*注册开始键监听*/
jb_2.addActionListener(this);
jb_2.setActionCommand("aa");
jb_1.setBackground(Color.pink);
jb_2.setBackground(Color.green);
jp4.add(jb_1);
jp4.add(jb_2);
//按1,2,3栏的顺序添加面板进jp0
jp0.add(jp1,BorderLayout.NORTH);
jp0.add(jp_1,BorderLayout.CENTER);
jp0.add(jp4x2,BorderLayout.SOUTH);
//把jp0和textAreaz装进拉伸版
jsp.add(jp0);
jsp.add(gun);
this.add(jsp);
//显示
this.setSize(1270,600);
this.setLocation(60,50);
this.setResizable(false);
this.setTitle("微型操作系统3合一");
this.setVisible(true);
}
public void gettime()//获取时间的方法
{
Calendar c = Calendar.getInstance();
int gominute = c.get(Calendar.MINUTE);
int gosecond = c.get(Calendar.SECOND);
int time=gominute*60+gosecond;
all1=time;
}
public void gettime2()//获取时间的方法
{
Calendar c = Calendar.getInstance();
int gominute = c.get(Calendar.MINUTE);
int gosecond = c.get(Calendar.SECOND);
int time=gominute*60+gosecond;
all2=time;
}
public void rungo()
{
choose=1;
}
@Override
public void actionPerformed(ActionEvent e) //事件处理时欲要改变外界的值应该传进方法
{
if (e.getActionCommand().equals("aa"))
{
gettime();
rungo();
System.out.println(all1);
} }
public void repaint()//这个方法用来专门刷新面板除了用户输入界面例外
{
//以下是用来刷新面版 我只到画板的刷新方法用一句this.repaint();但这不是画板。。。没办法
jp0=new JPanel();
jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
/*可以伸缩*/jsp.setOneTouchExpandable(true);
jta=new JTextArea("!!!以后操作细节将在这里显示!!!\n");
gun=new JScrollPane(jta);
jlb1=new JLabel(new ImageIcon("F:/text/pai.png"));
jp1=new JPanel();
jp2=new JPanel();
jp22=new JPanel();
jp222=new JPanel();
int Atime=all2-all1;
if(choose==0)
{
Atime=0;
}
jlb2=new JLabel(Atime+"秒");
jlb2.setBackground(Color.RED);
jlb2.setFont(new java.awt.Font("Dialog", 1, 77));
jlb2.setForeground(Color.red);
x2=new JPanel();
x2.setLayout(new BorderLayout());
x2_1=new JPanel();
x2_2=new JPanel();
x2_3=new JPanel();
jcb_1=new JCheckBox("先来先服务");
jcb_2=new JCheckBox("短作业优先");
jcb_3=new JCheckBox("响应比者高优先");
//一定要把 jrb1 jrb2 放入到一个ButtonGroup
ButtonGroup bg=new ButtonGroup();
bg.add(jcb_1);
bg.add(jcb_2);
bg.add(jcb_3);
x2_2.add(jcb_1);
x2_2.add(jcb_2);
x2_2.add(jcb_3);
x2.add(x2_1,BorderLayout.WEST);
x2.add(x2_2,BorderLayout.CENTER);
x2.add(x2_3,BorderLayout.EAST);
jp4x2=new JPanel();
jb_1=new JButton();
jb_2=new JButton();
lan2=new JLabel(new ImageIcon("F:/text/lan2.png"));
jp0.setLayout(new BorderLayout());
//第一栏
jp1.setLayout(new GridLayout(2,1));
jp1.add(jlb1);
jp1.add(jp2);
jp2.setLayout(new BorderLayout());
jp2.add(jp22,BorderLayout.CENTER);
/*将等待图加到jp22*/jp22.setLayout(null);
jp22.setBackground(Color.WHITE);
for (int i = 0; i<11; i++)
{
no[i] = new JLabel(new ImageIcon("F:/text/no.png"));
jp22.add(no[i]);
no[i].setBounds(i*48+14*i, 0, 48, 134);
lan[i] =new JLabel(new ImageIcon("F:/text/lan.png"));
jp22.add(lan[i]);
lan[i].setBounds((i-1)*14+i*48,0 , 14, 134);
/* 控制图像的位置大小 */
}
jp22.add(lan2);
lan2.setBounds(860,0,14, 134);
jp222.add(jlb2);
jp2.add(jp222,BorderLayout.EAST);
//第三栏
// jp_1.setBackground(Color.RED);//给面板设置背景颜色
//第四栏
jp4x2=new JPanel();
jp4x2.setLayout(new GridLayout(2,1));
jp4=new JPanel();
jp4.setLayout(new GridLayout(1,2));
jb_1=new JButton("确定录完");
jb_2=new JButton("开始任务");
jp4x2.add(x2);
jp4x2.add(jp4);
/*注册开始键监听*/
jb_2.addActionListener(this);
jb_2.setActionCommand("aa");
jb_1.setBackground(Color.pink);
jb_2.setBackground(Color.green);
jp4.add(jb_1);
jp4.add(jb_2);
//按1,2,3栏的顺序添加面板进jp0
jp0.add(jp1,BorderLayout.NORTH);
jp0.add(jp_1,BorderLayout.CENTER);
jp0.add(jp4x2,BorderLayout.SOUTH);
//把jp0和textAreaz装进拉伸版
jsp.add(jp0);
jsp.add(gun);
this.add(jsp);
//显示
this.setSize(1270,600);
this.setLocation(60,50);
this.setResizable(false);
this.setTitle("微型操作系统3合一");
this.setVisible(true);
}
@Override
public void run() {
while(true)
{
try {
Thread.sleep(1000);
} catch (Exception e) {}
gettime2();
repaint();
}
}
} F:/text/pai.png




JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本的更多相关文章
- 【面试题】2018年最全Java面试通关秘籍第五套!
[面试题]2018年最全Java面试通关秘籍第五套! 原创 2018-04-26 徐刘根 Java后端技术 第一套:<2018年最全Java面试通关秘籍第一套!> 第二套:<2018 ...
- java面试题复习(五)
41.阐述final.finally.finalize的区别 final:修饰符(关键字)有三种用法:如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract ...
- Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...
- java并发编程笔记(五)——线程安全策略
java并发编程笔记(五)--线程安全策略 不可变得对象 不可变对象需要满足的条件 对象创建以后其状态就不能修改 对象所有的域都是final类型 对象是正确创建的(在对象创建期间,this引用没有逸出 ...
- 20145205 《Java程序设计》实验报告五:Java网络编程及安全
20145205 <Java程序设计>实验报告五:Java网络编程及安全 实验要求 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.客户端中输入明文,利用DES算法加密,D ...
- JAVA GC之标记 第五节
JAVA GC之标记 第五节 OK,我们继续昨天最后留下的问题,什么是标记?怎么标记? 第一个问题相信大家都知道,标记就是对一些已死的对象打上记号,方便垃圾收集器的清理. 至于怎么标记,一般有两种方 ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- JAVA之旅(十五)——多线程的生产者和消费者,停止线程,守护线程,线程的优先级,setPriority设置优先级,yield临时停止
JAVA之旅(十五)--多线程的生产者和消费者,停止线程,守护线程,线程的优先级,setPriority设置优先级,yield临时停止 我们接着多线程讲 一.生产者和消费者 什么是生产者和消费者?我们 ...
- Java反射机制demo(五)—获得并调用一个类中的方法
Java反射机制demo(五)—获得并调用一个类中的方法 这个demo在使用反射机制操作属性之前,主要原因是因为在.class文件字节码中,方法排在属性的前面. 1,获得一个类中的方法 先看一下方法和 ...
随机推荐
- Math.min() / Math.max() 使用方法
首先弄懂apply 和 call 都是js函数自带的方法.区别如下: apply和call的用法只有一个地方不一样,除此之外,其他地方基本一模一样 1. a.call(b,arg1,arg2…) 2. ...
- 旋转的地球css3
css3果然博大精深: 1.代码里面还有用box-shadow制作椭圆形阴影的效果,厉害了!之前找了好久都没找到,今天给找到了 html: <section class="stage& ...
- leetcode 280.Wiggle Sort 、324. Wiggle Sort II
Wiggle Sort: 注意:解法一是每次i增加2,题目不是保证3个3个的情况,而是整个数组都要满足要求. 解法一错误版本: 如果nums的长度是4,这种情况下nums[i+1]会越界.但是如果你用 ...
- Springmvc常见问题
问题一:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userCont ...
- WinForm中Component Class、User Control及Custom Control的区别和使用
NET Framework 为您提供了开发和实现新控件的能力.除了常见的用户控件外,现在您会发现,您可以编写能执行自身绘图的自定义控件,甚至还可以通过继承扩展现有控件的功 能.确定创建何种类型的控件可 ...
- CentOS7服务器配置网络
Centos7最小化安装 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp5s0f0编辑如下:TYPE=Ethernet ...
- Arduino入门笔记(7):利用1602、1302实现时钟和定时器
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 常常听到老妈在做饭时说“开锅15分钟后叫我一下”,为何不做个定时器,来提醒老妈呢 ...
- 蓝桥杯 历届试题 约数倍数选卡片 (经典数论+DFS)
闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数.两人轮流拿走一张卡片.要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数.例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可 ...
- 简单直白的去理解AOP,了解Spring AOP,使用 @AspectJ - 读书笔记
AOP = Aspect Oriental Programing 面向切面编程 文章里不讲AOP术语,什么连接点.切点.切面什么的,这玩意太绕,记不住也罢.旨在以简单.直白的方式理解AOP,理解Sp ...
- Ubuntu学习总结-01 安装Ubuntu
Ubuntu(友帮拓.优般图.乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于Debian GNU/Linux,支持x86.amd64(即x64)和ppc架构,由全球 ...