博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本
阅读量:4640 次
发布时间:2019-06-09

本文共 15092 字,大约阅读时间需要 50 分钟。

1 package System2;  2   3 import javax.swing.*;  4   5 import java.awt.*;  6 import java.awt.event.ActionEvent;  7 import java.awt.event.ActionListener;  8 import java.awt.event.KeyListener;  9 import java.util.*; 10 /** 11  * 作者:范铭祥 12  * 内容及功能:   显示框创造1.0 13  * 我将在这个类里          一:面板1:用来先显示一副图表示顺序和处理中 14  *                    二:面板2:类1:用来显示要处理的项 接收 A在排队的颜色任务图   15  *                                              B在处理中的颜色任务图 16  *                          包含了四个类:1 PCB类  2先来先服类 17  *                       3 短作业优先算法  4 响应比者高优先算法 18  *                       注:以上均采用ArrayList集合的方法 19  *               四:面板4:2个按钮 1个Text文本框    20  * 按钮1对应每3个分页框      按钮2对应3个分页框 分别有三种不同的做法 21  * text文本接收  按钮一传来的页框号从而 获取相应的分页框信息 22  *  23  *第一次日志: 监听的事件处理方法变量是出不来,但方法可进进哦。 24  *                明天我就试在原类更新面板,因为用户是录完才点击开始按钮,所以不断刷新不影响用户 25  *            输入。 26  *第二次日志:当我做完了整个界面face2看完效果后,当时我就不乐意了,因为如果用户要在不同的面版上 27  *输入3次才可完全享受3中操作系统处理方法,最让我难受的是不能单独刷新面板的某一部分,所以我只能 28  *采用刷新JFrame的方法,终于实现了时间不断自动跳转但问题出现了,用户的输入接面也在不断刷新 29  */ 30 public class face3 extends JFrame implements ActionListener,Runnable{ 31   /*其它*/        int choose=0; 32              33 /*外围*/        JPanel jp0; 34             JSplitPane jsp;//可收缩面板 35             JTextArea jta; 36             JScrollPane gun;//设置滚动框 37              38 /*1*/        JLabel jlb1; 39             JPanel jp1; 40          41 /*2*/        JPanel jp2; 42             JPanel jp22; 43             JPanel jp222; 44             JLabel jlb2;//用来接替第二部分    45             JLabel[] no = new JLabel[11]; 46             JLabel[] lan= new JLabel[11]; 47             JLabel lan2; 48             public int all1; 49             int Atime=all1; 50             public int all2; 51             int now; 52 /*2x*/ 53             JPanel x2,x2_1,x2_2,x2_3; 54             JCheckBox jcb_1,jcb_2,jcb_3;//选择按钮 55             ButtonGroup bg;//only one选择组 56              57 /*3*/    JPanel jp_1;//属于 jp3 属于第三部分的分页框面板 58              59             // 60             /*以下部分很重要 是该系统一大部分 录入*/ 61             // 62             JPanel[] jp2a_1=new JPanel[12]; 63             JLabel[] jl2b_1=new JLabel[12];//打是X任务标签的 64             JLabel jl2c1_1[]=new JLabel[12]; 65             JLabel jl2c2_1[]=new JLabel[12]; 66                  67              68 /*4*/        JPanel jp4,jp4x2;             69             JButton jb_1,jb_2; 70     public static final int one_ge = 50;//代表一幅图的宽度         71              72     public static void main(String[] args)  73     { 74         // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 75         face3 face33=new face3(); 76         //启动face33线程 77         Thread t=new Thread(face33); 78         t.start(); 79     } 80     public face3() 81     {    //全部在这定义 82         jp0=new JPanel(); 83         jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); 84 /*可以伸缩*/jsp.setOneTouchExpandable(true); 85         jta=new JTextArea("!!!以后操作细节将在这里显示!!!\n"); 86         gun=new JScrollPane(jta); 87         jlb1=new JLabel(new ImageIcon("F:/text/pai.png")); 88         jp1=new JPanel(); 89         jp2=new JPanel(); 90         jp22=new JPanel(); 91         jp222=new JPanel(); 92         jlb2=new JLabel(Atime+"秒"); 93         jlb2.setBackground(Color.RED); 94         jlb2.setFont(new   java.awt.Font("Dialog",   1,   77)); 95         jlb2.setForeground(Color.red); 96         x2=new JPanel(); 97         x2.setLayout(new BorderLayout()); 98         x2_1=new JPanel(); 99         x2_2=new JPanel();100         x2_3=new JPanel();101         jcb_1=new JCheckBox("先来先服务");102         jcb_2=new JCheckBox("短作业优先");103         jcb_3=new JCheckBox("响应比者高优先");104         //一定要把 jrb1 jrb2 放入到一个ButtonGroup105         ButtonGroup bg=new ButtonGroup();106         bg.add(jcb_1);107         bg.add(jcb_2);108         bg.add(jcb_3);109         x2_2.add(jcb_1);110         x2_2.add(jcb_2);111         x2_2.add(jcb_3);112         x2.add(x2_1,BorderLayout.WEST);113         x2.add(x2_2,BorderLayout.CENTER);114         x2.add(x2_3,BorderLayout.EAST);115         jp_1=new JPanel();116         jp_1.setLayout(new GridLayout(1,11));        117         JTextField jtf21_1[]=new JTextField[12];118         JTextField jtf22_1[]=new JTextField[12];119         //第一复页面板120         for(int i=1;i<=11;i++)121         {122             jp2a_1[i]=new JPanel();123             jl2c1_1[i]=new JLabel("到达时间(秒)");124             jl2c1_1[i].setFont(new   java.awt.Font("宋体",   1,   10));125             jl2c1_1[i].setForeground(Color.red);126             jl2c2_1[i]=new JLabel("运行时间(秒)");127             jl2c2_1[i].setFont(new   java.awt.Font("宋体",   1,   10));128             jl2c2_1[i].setForeground(Color.blue);129             jtf21_1[i]=new JTextField(5);        130             jtf21_1[i].setFont(new   java.awt.Font("宋体",   1,   35));131             jtf21_1[i].setForeground(Color.red);132             jtf22_1[i]=new JTextField(5);133             jtf22_1[i].setFont(new   java.awt.Font("宋体",   1,   35));134             jtf22_1[i].setForeground(Color.blue);135             jp2a_1[i].setLayout(new GridLayout(5,1));136 137             switch(i)138             {139             case 1:140                 jl2b_1[i]=new JLabel(" 任务A");141                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   30));142                 jl2b_1[i].setForeground(Color.red);143                 break;144             case 2:145                 jl2b_1[i]=new JLabel(" 任务B");146                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));147                 jl2b_1[i].setForeground(Color.red);148                 break;149             case 3:150                 jl2b_1[i]=new JLabel(" 任务C");151                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));152                 jl2b_1[i].setForeground(Color.red);153                 break;154             case 4:155                 jl2b_1[i]=new JLabel(" 任务D");156                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));157                 jl2b_1[i].setForeground(Color.red);158                 break;159             case 5:160                 jl2b_1[i]=new JLabel(" 任务E");161                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));162                 jl2b_1[i].setForeground(Color.red);163                 break;164             case 6:165                 jl2b_1[i]=new JLabel(" 任务F");166                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));167                 jl2b_1[i].setForeground(Color.red);168                 break;169             case 7:170                 jl2b_1[i]=new JLabel(" 任务G");171                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));172                 jl2b_1[i].setForeground(Color.red);173                 break;174             case 8:175                 jl2b_1[i]=new JLabel(" 任务H");176                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));177                 jl2b_1[i].setForeground(Color.red);178                 break;179             case 9:180                 jl2b_1[i]=new JLabel(" 任务I");181                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));182                 jl2b_1[i].setForeground(Color.red);183                 break;184             case 10:185                 jl2b_1[i]=new JLabel(" 任务J");186                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));187                 jl2b_1[i].setForeground(Color.red);188                 break;189             case 11:190                 jl2b_1[i]=new JLabel(" 任务K");191                 jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));192                 jl2b_1[i].setForeground(Color.red);193                 break;194             }195             jp2a_1[i].add(jl2b_1[i]);196             jp2a_1[i].add(jl2c1_1[i]);197             jp2a_1[i].add(jtf21_1[i]);198             jp2a_1[i].add(jl2c2_1[i]);199             jp2a_1[i].add(jtf22_1[i]);200             jp_1.add(jp2a_1[i]);201         }    202         jp4x2=new JPanel();203         jb_1=new JButton();204         jb_2=new JButton();205         lan2=new JLabel(new ImageIcon("F:/text/lan2.png"));206         jp0.setLayout(new BorderLayout());207         //第一栏208         jp1.setLayout(new GridLayout(2,1));209         jp1.add(jlb1);210         jp1.add(jp2);211         jp2.setLayout(new BorderLayout());212         jp2.add(jp22,BorderLayout.CENTER);213 /*将等待图加到jp22*/jp22.setLayout(null);214                 jp22.setBackground(Color.WHITE);215                 for (int i = 0; i<11; i++) 216                 { 217                     no[i] = new JLabel(new ImageIcon("F:/text/no.png"));218                     jp22.add(no[i]);219                     no[i].setBounds(i*48+14*i, 0, 48, 134);220                     lan[i] =new JLabel(new ImageIcon("F:/text/lan.png"));221                     jp22.add(lan[i]);222                     lan[i].setBounds((i-1)*14+i*48,0 , 14, 134);223                     /* 控制图像的位置大小 */224                 }225                 jp22.add(lan2);226                 lan2.setBounds(860,0,14, 134);227         jp222.add(jlb2);228         jp2.add(jp222,BorderLayout.EAST);229         //第三栏230 //        jp_1.setBackground(Color.RED);//给面板设置背景颜色231         //第四栏232         jp4x2=new JPanel();233         jp4x2.setLayout(new GridLayout(2,1));234         jp4=new JPanel();235         jp4.setLayout(new GridLayout(1,2));236         jb_1=new JButton("确定录完");237         jb_2=new JButton("开始任务");238         jp4x2.add(x2);239         jp4x2.add(jp4);240 /*注册开始键监听*/    241         jb_2.addActionListener(this);242         jb_2.setActionCommand("aa");243         jb_1.setBackground(Color.pink);244         jb_2.setBackground(Color.green);245         jp4.add(jb_1);246         jp4.add(jb_2);247         //按1,2,3栏的顺序添加面板进jp0248         jp0.add(jp1,BorderLayout.NORTH);249         jp0.add(jp_1,BorderLayout.CENTER);250         jp0.add(jp4x2,BorderLayout.SOUTH);251         //把jp0和textAreaz装进拉伸版252         jsp.add(jp0);253         jsp.add(gun);254         this.add(jsp);255         //显示256         this.setSize(1270,600);257         this.setLocation(60,50);258         this.setResizable(false);259         this.setTitle("微型操作系统3合一");260         this.setVisible(true);261     }262     public void gettime()//获取时间的方法263     {264         Calendar c = Calendar.getInstance(); 265         int gominute = c.get(Calendar.MINUTE); 266         int gosecond = c.get(Calendar.SECOND);267         int time=gominute*60+gosecond;268         all1=time;269     }270     public void gettime2()//获取时间的方法271     {272         Calendar c = Calendar.getInstance(); 273         int gominute = c.get(Calendar.MINUTE); 274         int gosecond = c.get(Calendar.SECOND);275         int time=gominute*60+gosecond;276         all2=time;277     }278     public void rungo()279     {280         choose=1;281     }282     @Override283     public void actionPerformed(ActionEvent e) //事件处理时欲要改变外界的值应该传进方法284     {285         if (e.getActionCommand().equals("aa")) 286         {287             gettime();288             rungo();289             System.out.println(all1);290         }291         292     }293     public void repaint()//这个方法用来专门刷新面板除了用户输入界面例外294     {295         //以下是用来刷新面版 我只到画板的刷新方法用一句this.repaint();但这不是画板。。。没办法296         jp0=new JPanel();297         jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);298 /*可以伸缩*/jsp.setOneTouchExpandable(true);299         jta=new JTextArea("!!!以后操作细节将在这里显示!!!\n");300         gun=new JScrollPane(jta);301         jlb1=new JLabel(new ImageIcon("F:/text/pai.png"));302         jp1=new JPanel();303         jp2=new JPanel();304         jp22=new JPanel();305         jp222=new JPanel();306         int Atime=all2-all1;307         if(choose==0)308         {309             Atime=0;310         }311         jlb2=new JLabel(Atime+"秒");312         jlb2.setBackground(Color.RED);313         jlb2.setFont(new   java.awt.Font("Dialog",   1,   77));314         jlb2.setForeground(Color.red);315         x2=new JPanel();316         x2.setLayout(new BorderLayout());317         x2_1=new JPanel();318         x2_2=new JPanel();319         x2_3=new JPanel();320         jcb_1=new JCheckBox("先来先服务");321         jcb_2=new JCheckBox("短作业优先");322         jcb_3=new JCheckBox("响应比者高优先");323         //一定要把 jrb1 jrb2 放入到一个ButtonGroup324         ButtonGroup bg=new ButtonGroup();325         bg.add(jcb_1);326         bg.add(jcb_2);327         bg.add(jcb_3);328         x2_2.add(jcb_1);329         x2_2.add(jcb_2);330         x2_2.add(jcb_3);331         x2.add(x2_1,BorderLayout.WEST);332         x2.add(x2_2,BorderLayout.CENTER);333         x2.add(x2_3,BorderLayout.EAST);        334         jp4x2=new JPanel();335         jb_1=new JButton();336         jb_2=new JButton();337         lan2=new JLabel(new ImageIcon("F:/text/lan2.png"));338         jp0.setLayout(new BorderLayout());339         //第一栏340         jp1.setLayout(new GridLayout(2,1));341         jp1.add(jlb1);342         jp1.add(jp2);343         jp2.setLayout(new BorderLayout());344         jp2.add(jp22,BorderLayout.CENTER);345 /*将等待图加到jp22*/jp22.setLayout(null);346                 jp22.setBackground(Color.WHITE);347                 for (int i = 0; i<11; i++) 348                 { 349                     no[i] = new JLabel(new ImageIcon("F:/text/no.png"));350                     jp22.add(no[i]);351                     no[i].setBounds(i*48+14*i, 0, 48, 134);352                     lan[i] =new JLabel(new ImageIcon("F:/text/lan.png"));353                     jp22.add(lan[i]);354                     lan[i].setBounds((i-1)*14+i*48,0 , 14, 134);355                     /* 控制图像的位置大小 */356                 }357                 jp22.add(lan2);358                 lan2.setBounds(860,0,14, 134);359         jp222.add(jlb2);360         jp2.add(jp222,BorderLayout.EAST);361         //第三栏362 //        jp_1.setBackground(Color.RED);//给面板设置背景颜色363         //第四栏364         jp4x2=new JPanel();365         jp4x2.setLayout(new GridLayout(2,1));366         jp4=new JPanel();367         jp4.setLayout(new GridLayout(1,2));368         jb_1=new JButton("确定录完");369         jb_2=new JButton("开始任务");370         jp4x2.add(x2);371         jp4x2.add(jp4);372 /*注册开始键监听*/    373         jb_2.addActionListener(this);374         jb_2.setActionCommand("aa");375         jb_1.setBackground(Color.pink);376         jb_2.setBackground(Color.green);377         jp4.add(jb_1);378         jp4.add(jb_2);379         //按1,2,3栏的顺序添加面板进jp0380         jp0.add(jp1,BorderLayout.NORTH);381         jp0.add(jp_1,BorderLayout.CENTER);382         jp0.add(jp4x2,BorderLayout.SOUTH);383         //把jp0和textAreaz装进拉伸版384         jsp.add(jp0);385         jsp.add(gun);386         this.add(jsp);387         //显示388         this.setSize(1270,600);389         this.setLocation(60,50);390         this.setResizable(false);391         this.setTitle("微型操作系统3合一");392         this.setVisible(true);393     }394     @Override395     public void run() {396         while(true)397     {398         try {399             Thread.sleep(1000);400         } catch (Exception e) {}401         gettime2();402         repaint();403     }404     }405 } F:/text/pai.png
 
F:/text/lan2.png
F:/text/no.png
F:/text/lan.png
 

 

转载于:https://www.cnblogs.com/vip-fan1234xiang/p/4492364.html

你可能感兴趣的文章
LDAP & it's implementation
查看>>
Apache HttpComponents中的cookie匹配策略
查看>>
冰封的海盗攻略
查看>>
python from entry to abandon
查看>>
Netty4.x中文教程系列(四) 对象传输
查看>>
linux下find命令使用举例、
查看>>
GET请求在Tomcat中的传递及URI传递
查看>>
ubuntun 服务器与Mac
查看>>
重温JSP学习笔记--与日期数字格式化有关的jstl标签库
查看>>
java-Date-DateFormat-Calendar
查看>>
封装CLLocationManager定位获取经纬度
查看>>
我的第一篇博客-(Eclipse中或Myeclipse中如果不小心删除了包那可怎么办?)
查看>>
对easyui datagrid组件的一个小改进
查看>>
类似以下三图竞争关系的IT企业
查看>>
Qt5启动画面
查看>>
清明节
查看>>
谈谈一些有趣的CSS题目(七)-- 消失的边界线问题
查看>>
ubuntu如何安装svn客户端?
查看>>
arcgis for javascript (3.17)
查看>>
【MySQL】Win7下修改MySQL5.5默认编码格式
查看>>