zoukankan      html  css  js  c++  java
  • 第三版本

     1 package System4;
     2 
     3 import java.awt.BorderLayout;
     4 import java.awt.Color;
     5 import java.awt.GridLayout;
     6 import javax.swing.ImageIcon;
     7 import javax.swing.JButton;
     8 import javax.swing.JLabel;
     9 import javax.swing.JPanel;
    10 import javax.swing.JTextField;
    11 
    12 class outrun extends face5 implements Runnable
    13 {
    14     public void rebuild()
    15     {
    16         gettime2();
    17         Atime=all2-all1;
    18         jbt2=new JButton(Atime+"秒");
    19         jbt2.setBackground(Color.RED);
    20         jbt2.setFont(new   java.awt.Font("Dialog",   1,   77));
    21         jbt2.setForeground(Color.black);
    22         jp222.add(jbt2);
    23 //        jp2.add(jp222,BorderLayout.EAST);
    24 //        jp1.setLayout(new GridLayout(2,1));
    25 //        jp1.add(jlb1);
    26 //        jp1.add(jp2);        
    27 //        jp0.add(jp1,BorderLayout.NORTH);
    28 //        显示
    29         this.setSize(1270,600);
    30         this.setLocation(60,50);
    31         this.setResizable(false);
    32         this.setTitle("微型操作系统3合一");
    33         this.setVisible(true);
    34     }
    35     @Override
    36     public void run() 
    37     {
    38         gettime();
    39         while(true)
    40         {
    41             try {
    42                 Thread.sleep(1000);
    43             } catch (Exception e) {
    44                 // TODO: handle exception
    45             }
    46             rebuild();
    47         }
    48         
    49     }
    50     
    51 }
      1 package System4;
      2 
      3 import java.awt.*;
      4 import java.awt.event.ActionEvent;
      5 import java.awt.event.ActionListener;
      6 import java.util.*;
      7 import javax.swing.*;
      8 
      9 /**
     10  * 作者:范铭祥
     11  * 内容及功能:   显示框创造1.0
     12  * 我将在这个类里          一:面板1:用来先显示一副图表示顺序和处理中
     13  *                    二:面板2:类1:用来显示要处理的项 接收 A在排队的颜色任务图  
     14  *                                              B在处理中的颜色任务图
     15  *                          包含了四个类:1 PCB类  2先来先服类
     16  *                       3 短作业优先算法  4 响应比者高优先算法
     17  *                       注:以上均采用ArrayList集合的方法
     18  *               四:面板4:2个按钮 1个Text文本框   
     19  * 按钮1对应每3个分页框      按钮2对应3个分页框 分别有三种不同的做法
     20  * text文本接收  按钮一传来的页框号从而 获取相应的分页框信息
     21  * 
     22  *第一次日志: 监听的事件处理方法变量是出不来,但方法可进进哦。
     23  *                明天我就试在原类更新面板,因为用户是录完才点击开始按钮,所以不断刷新不影响用户
     24  *            输入。
     25  *第二次日志:当我做完了整个界面face2看完效果后,当时我就不乐意了,因为如果用户要在不同的面版上
     26  *输入3次才可完全享受3中操作系统处理方法,最让我难受的是不能单独刷新面板的某一部分,所以我只能
     27  *采用刷新JFrame的方法,终于实现了时间不断自动跳转但问题出现了,用户的输入接面也在不断刷新
     28  *
     29  *第三次日志:解决了用户要输入3次的不好,现在要改变用户面板不断刷新的问题,因为要将建新类来启动刷新
     30  *这将是个大工程,呵呵 事实证明我的想法可行终于解决了面板局部刷新问题,这解决方法有点像多态
     31  *现在出现了一个新问题 想到了新问题来解决——要改变排序图的布局 这个方案作出来的界面更好看
     32  */
     33 public class face5 extends JFrame implements ActionListener{
     34       /*其它*/        int choose=0;
     35                 
     36     /*外围*/        JPanel jp0;
     37                 JSplitPane jsp;//可收缩面板
     38                 JTextArea jta;
     39                 JScrollPane gun;//设置滚动框
     40                 
     41     /*1*/        JLabel jlb1;
     42                 JPanel jp1;
     43             
     44     /*2*/    
     45                 JPanel jp2;
     46                 JPanel jp22;
     47                 JPanel jp222;
     48                 JButton jbt2;//用来接替第二部分   
     49                 JLabel[] no = new JLabel[11];
     50                 JLabel[] lan= new JLabel[11];
     51                 JLabel lan2;
     52                 public int all1;
     53                 int Atime=all1;
     54                 public int all2;
     55                 int now;
     56     /*2x*/
     57                 JPanel x2,x2_1,x2_2,x2_3;
     58                 JCheckBox jcb_1,jcb_2,jcb_3;//选择按钮
     59                 ButtonGroup bg;//only one选择组
     60                 
     61     /*3*/    JPanel jp_1;//属于 jp3 属于第三部分的分页框面板
     62                 
     63                 //
     64                 /*以下部分很重要 是该系统一大部分 录入*/
     65                 //
     66                 JPanel[] jp2a_1=new JPanel[12];
     67                 JLabel[] jl2b_1=new JLabel[12];//打是X任务标签的
     68                 JLabel jl2c1_1[]=new JLabel[12];
     69                 JLabel jl2c2_1[]=new JLabel[12];
     70                     
     71                 
     72     /*4*/        JPanel jp4,jp4x2;            
     73                 JButton jb_1,jb_2;
     74         public static final int one_ge = 50;//代表一幅图的宽度        
     75                 
     76         public static void main(String[] args) 
     77         {
     78             // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     79             face5 face55=new face5();
     80             //启动face33线程
     81         }
     82         public face5()
     83         {    //全部在这定义
     84             jp0=new JPanel();
     85             jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
     86     /*可以伸缩*/jsp.setOneTouchExpandable(true);
     87             jta=new JTextArea("!!!以后操作细节将在这里显示!!!
    ");
     88             gun=new JScrollPane(jta);
     89             jlb1=new JLabel(new ImageIcon("F:/text/pai.png"));
     90             jp1=new JPanel();
     91             
     92             jp2=new JPanel();
     93             jp22=new JPanel();
     94             jp222=new JPanel();
     95             jbt2=new JButton(Atime+"秒");
     96             jbt2.setBackground(Color.RED);
     97             jbt2.setFont(new   java.awt.Font("Dialog",   1,   77));
     98             jbt2.setForeground(Color.black);
     99             x2=new JPanel();
    100             x2.setLayout(new BorderLayout());
    101             x2_1=new JPanel();
    102             x2_2=new JPanel();
    103             x2_3=new JPanel();
    104             jcb_1=new JCheckBox("先来先服务");
    105             jcb_2=new JCheckBox("短作业优先");
    106             jcb_3=new JCheckBox("响应比者高优先");
    107             //一定要把 jrb1 jrb2 放入到一个ButtonGroup
    108             ButtonGroup bg=new ButtonGroup();
    109             bg.add(jcb_1);
    110             bg.add(jcb_2);
    111             bg.add(jcb_3);
    112             x2_2.add(jcb_1);
    113             x2_2.add(jcb_2);
    114             x2_2.add(jcb_3);
    115             x2.add(x2_1,BorderLayout.WEST);
    116             x2.add(x2_2,BorderLayout.CENTER);
    117             x2.add(x2_3,BorderLayout.EAST);
    118             jp_1=new JPanel();
    119             jp_1.setLayout(new GridLayout(1,11));        
    120             JTextField jtf21_1[]=new JTextField[12];
    121             JTextField jtf22_1[]=new JTextField[12];
    122             //第一复页面板
    123             for(int i=1;i<=11;i++)
    124             {
    125                 jp2a_1[i]=new JPanel();
    126                 jl2c1_1[i]=new JLabel("到达时间(秒)");
    127                 jl2c1_1[i].setFont(new   java.awt.Font("宋体",   1,   10));
    128                 jl2c1_1[i].setForeground(Color.red);
    129                 jl2c2_1[i]=new JLabel("运行时间(秒)");
    130                 jl2c2_1[i].setFont(new   java.awt.Font("宋体",   1,   10));
    131                 jl2c2_1[i].setForeground(Color.blue);
    132                 jtf21_1[i]=new JTextField(5);        
    133                 jtf21_1[i].setFont(new   java.awt.Font("宋体",   1,   35));
    134                 jtf21_1[i].setForeground(Color.red);
    135                 jtf22_1[i]=new JTextField(5);
    136                 jtf22_1[i].setFont(new   java.awt.Font("宋体",   1,   35));
    137                 jtf22_1[i].setForeground(Color.blue);
    138                 jp2a_1[i].setLayout(new GridLayout(5,1));
    139 
    140                 switch(i)
    141                 {
    142                 case 1:
    143                     jl2b_1[i]=new JLabel(" 任务A");
    144                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   30));
    145                     jl2b_1[i].setForeground(Color.red);
    146                     break;
    147                 case 2:
    148                     jl2b_1[i]=new JLabel(" 任务B");
    149                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    150                     jl2b_1[i].setForeground(Color.red);
    151                     break;
    152                 case 3:
    153                     jl2b_1[i]=new JLabel(" 任务C");
    154                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    155                     jl2b_1[i].setForeground(Color.red);
    156                     break;
    157                 case 4:
    158                     jl2b_1[i]=new JLabel(" 任务D");
    159                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    160                     jl2b_1[i].setForeground(Color.red);
    161                     break;
    162                 case 5:
    163                     jl2b_1[i]=new JLabel(" 任务E");
    164                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    165                     jl2b_1[i].setForeground(Color.red);
    166                     break;
    167                 case 6:
    168                     jl2b_1[i]=new JLabel(" 任务F");
    169                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    170                     jl2b_1[i].setForeground(Color.red);
    171                     break;
    172                 case 7:
    173                     jl2b_1[i]=new JLabel(" 任务G");
    174                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    175                     jl2b_1[i].setForeground(Color.red);
    176                     break;
    177                 case 8:
    178                     jl2b_1[i]=new JLabel(" 任务H");
    179                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    180                     jl2b_1[i].setForeground(Color.red);
    181                     break;
    182                 case 9:
    183                     jl2b_1[i]=new JLabel(" 任务I");
    184                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    185                     jl2b_1[i].setForeground(Color.red);
    186                     break;
    187                 case 10:
    188                     jl2b_1[i]=new JLabel(" 任务J");
    189                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    190                     jl2b_1[i].setForeground(Color.red);
    191                     break;
    192                 case 11:
    193                     jl2b_1[i]=new JLabel(" 任务K");
    194                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
    195                     jl2b_1[i].setForeground(Color.red);
    196                     break;
    197                 }
    198                 jp2a_1[i].add(jl2b_1[i]);
    199                 jp2a_1[i].add(jl2c1_1[i]);
    200                 jp2a_1[i].add(jtf21_1[i]);
    201                 jp2a_1[i].add(jl2c2_1[i]);
    202                 jp2a_1[i].add(jtf22_1[i]);
    203                 jp_1.add(jp2a_1[i]);
    204             }    
    205             jp4x2=new JPanel();
    206             jb_1=new JButton();
    207             jb_2=new JButton();
    208             lan2=new JLabel(new ImageIcon("F:/text/lan2.png"));
    209             jp0.setLayout(new BorderLayout());
    210             //第一栏
    211             jp1.setLayout(new GridLayout(2,1));            
    212             jp1.add(jlb1);        
    213             jp2.setLayout(new BorderLayout());    
    214 
    215             jp2.add(jp22,BorderLayout.CENTER);
    216             jp1.add(jp2);
    217     /*将等待图加到jp22*/jp22.setLayout(null);
    218                     jp22.setBackground(Color.WHITE);
    219                     for (int i = 0; i<11; i++) 
    220                     { 
    221                         no[i] = new JLabel(new ImageIcon("F:/text/no.png"));
    222                         jp22.add(no[i]);
    223                         no[i].setBounds(i*48+14*i, 0, 48, 134);
    224                         lan[i] =new JLabel(new ImageIcon("F:/text/lan.png"));
    225                         jp22.add(lan[i]);
    226                         lan[i].setBounds((i-1)*14+i*48,0 , 14, 134);
    227                         /* 控制图像的位置大小 */
    228                     }
    229                     jp22.add(lan2);
    230                     lan2.setBounds(863,0,14, 134);
    231             jp222.add(jbt2);
    232             jp2.add(jp222,BorderLayout.EAST);
    233             //第四栏
    234             jp4x2=new JPanel();
    235             jp4x2.setLayout(new GridLayout(2,1));
    236             jp4=new JPanel();
    237             jp4.setLayout(new GridLayout(1,2));
    238             jb_1=new JButton("确定录完");
    239             jb_2=new JButton("开始任务");
    240             jp4x2.add(x2);
    241             jp4x2.add(jp4);
    242     /*注册开始键监听*/    
    243             jb_2.addActionListener(this);
    244             jb_2.setActionCommand("aa");
    245             jb_1.setBackground(Color.pink);
    246             jb_2.setBackground(Color.green);
    247             jp4.add(jb_1);
    248             jp4.add(jb_2);
    249             //按1,2,3栏的顺序添加面板进jp0
    250             jp0.add(jp1,BorderLayout.NORTH);
    251             jp0.add(jp_1,BorderLayout.CENTER);
    252             jp0.add(jp4x2,BorderLayout.SOUTH);
    253             //把jp0和textAreaz装进拉伸版
    254             jsp.add(jp0);
    255             jsp.add(gun);
    256             this.add(jsp);
    257             //显示
    258             this.setSize(1270,600);
    259             this.setLocation(60,50);
    260             this.setResizable(false);
    261             this.setTitle("微型操作系统3合一");
    262             this.setVisible(true);
    263         }
    264         public void gettime()//获取时间的方法
    265         {
    266             Calendar c = Calendar.getInstance(); 
    267             int gominute = c.get(Calendar.MINUTE); 
    268             int gosecond = c.get(Calendar.SECOND);
    269             int time=gominute*60+gosecond;
    270             all1=time;
    271         }
    272         public void gettime2()//获取时间的方法
    273         {
    274             Calendar c = Calendar.getInstance(); 
    275             int gominute = c.get(Calendar.MINUTE); 
    276             int gosecond = c.get(Calendar.SECOND);
    277             int time=gominute*60+gosecond;
    278             all2=time;
    279         }
    280         public void rungo()
    281         {
    282             choose=1;
    283         }
    284         public void go()
    285         {
    286             outrun reface=new outrun();
    287             Thread yy=new Thread(reface);
    288             if(choose==1)
    289             {
    290             yy.start();
    291             }
    292         }
    293         @Override
    294         public void actionPerformed(ActionEvent e) //事件处理时欲要改变外界的值应该传进方法
    295         {
    296             if (e.getActionCommand().equals("aa")) 
    297             {
    298                 rungo();
    299                 System.out.println(all1);
    300                 go();
    301             }
    302             
    303         }
    304 }
  • 相关阅读:
    提升应用崩溃时的用户体验——去掉烦人的“很抱歉”提示框
    Activity与DialogFragment交互的方法
    取之有道——巧用Root权限 启动其他APP中的Activity
    巧用Handler获取View控件信息
    关于遍历javascript 中的json串浏览器输出的结果不统一的情况
    PHP usort 函数底层排序
    IO多路复用小故事
    不知道写的是啥
    GC算法-增量式垃圾回收
    GC算法-分代垃圾回收
  • 原文地址:https://www.cnblogs.com/vip-fan1234xiang/p/4492376.html
Copyright © 2011-2022 走看看