zoukankan      html  css  js  c++  java
  • JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本

      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("!!!以后操作细节将在这里显示!!!
    ");
     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 放入到一个ButtonGroup
    105         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栏的顺序添加面板进jp0
    248         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     @Override
    283     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("!!!以后操作细节将在这里显示!!!
    ");
    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 放入到一个ButtonGroup
    324         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栏的顺序添加面板进jp0
    380         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     @Override
    395     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
     
  • 相关阅读:
    Vmware安装CentOS6
    MySQL Explain详解
    数据库——Redis超详细总结
    读书——你的见识决定你的人生
    软件——Ubuntu16.04设置静态ip地址
    软件——Hexo-NexT配置个人博客
    Java——Java实现生产者消费者
    程序员的踩坑经验总结(四):死锁
    程序员的踩坑经验总结(三):内存泄露
    认识自己和世界
  • 原文地址:https://www.cnblogs.com/vip-fan1234xiang/p/4492364.html
Copyright © 2011-2022 走看看