这是第四版本 到了第五个版本我的程序代码大改了 效果很好 期待我再升级

  1 package System3;
  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  */
 34 public class face4 extends JFrame implements ActionListener{
 35       /*其它*/        int choose=0;
 36                         int end=0;
 37                         int important=0;    
 38                         int number0;
 39     /*外围*/    
 40                 static JFrame jf0;
 41                 JPanel jp0;
 42                 JSplitPane jsp;//可收缩面板
 43                 JTextArea jta;
 44                 JScrollPane gun;//设置滚动框
 45                 
 46     /*1*/        JLabel jlb1;
 47                 JPanel jp1;
 48             
 49     /*2*/    
 50                 JPanel jp2;
 51                 JPanel jp22;
 52                 JPanel []x14x=new JPanel[4];
 53                 JLabel []p14p=new JLabel[4];
 54                 JPanel jp222;
 55                 JButton jlb2;//用来接替第二部分   
 56                 JLabel[] no = new JLabel[11];
 57                 JLabel[] lan= new JLabel[11];
 58                 JLabel lan2;
 59                 JLabel chu;
 60                 public int all1;
 61                 int Atime=all1;
 62                 public int all2;
 63                 int now;
 64     /*2x*/
 65                 JPanel x2,x2_1,x2_2,x2_3;
 66                 JCheckBox jcb_1,jcb_2,jcb_3;//选择按钮
 67                 ButtonGroup bg;//only one选择组
 68                 
 69     /*3*/    JPanel jp_1;//属于 jp3 属于第三部分的分页框面板
 70                 
 71                 //
 72                 /*以下部分很重要 是该系统一大部分 录入*/
 73                 //
 74                 JPanel[] jp2a_1=new JPanel[12];
 75                 JLabel[] jl2b_1=new JLabel[12];
 76                 JLabel jl2c1_1[]=new JLabel[12];
 77                 JLabel jl2c2_1[]=new JLabel[12];
 78                 JTextField jtf21_1[]=new JTextField[12];
 79                 JTextField jtf22_1[]=new JTextField[12];
 80                 inJCB doin;
 81                 
 82     /*4*/        JPanel jp4,jp4x2;            
 83                 JButton jb_1,jb_2,jb_3;
 84 //        public static final int one_ge = 50;//代表一幅图的宽度        
 85                 
 86         public static void main(String[] args) 
 87         {
 88             // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 89 
 90                     
 91             TestFrameDemo facemix=new TestFrameDemo();
 92             facemix.opengo();
 93 
 94 
 95         }
 96         public face4()
 97         {    //全部在这定义
 98             number0=TestFrameDemo.getNumber();
 99             jf0=new JFrame();
100             jp0=new JPanel();
101             jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
102     /*可以伸缩*/jsp.setOneTouchExpandable(true);
103             jta=new JTextArea("!!以后操作细节这里显示!
");
104             gun=new JScrollPane(jta);
105             jlb1=new JLabel(new ImageIcon("F:/text/pai.png"));
106             jp1=new JPanel();
107             
108             jp2=new JPanel();
109             jp22=new JPanel();
110             jp222=new JPanel();
111             jlb2=new JButton(Atime+"秒");
112             jlb2.setBackground(Color.RED);
113             jlb2.setFont(new   java.awt.Font("Dialog",   1,   35));
114             x2=new JPanel();
115             x2.setLayout(new BorderLayout());
116             x2_1=new JPanel();
117             x2_2=new JPanel();
118             x2_3=new JPanel();
119             jcb_1=new JCheckBox("先来先服务");
120             jcb_2=new JCheckBox("短作业优先");
121             jcb_3=new JCheckBox("响应比者高优先");
122             //一定要把 jrb1 jrb2 放入到一个ButtonGroup
123             ButtonGroup bg=new ButtonGroup();
124             bg.add(jcb_1);
125             bg.add(jcb_2);
126             bg.add(jcb_3);
127             x2_2.add(jcb_1);
128             x2_2.add(jcb_2);
129             x2_2.add(jcb_3);
130             x2.add(x2_1,BorderLayout.WEST);
131             x2.add(x2_2,BorderLayout.CENTER);
132             x2.add(x2_3,BorderLayout.EAST);
133             jp_1=new JPanel();
134             jp_1.setLayout(new GridLayout(1,11));        
135             //第一复页面板
136             for(int i=1;i<=11;i++)
137             {
138                 jp2a_1[i]=new JPanel();
139                 jl2c1_1[i]=new JLabel("到达时间(秒)");
140                 jl2c1_1[i].setFont(new   java.awt.Font("宋体",   1,   10));
141                 jl2c1_1[i].setForeground(Color.red);
142                 jl2c2_1[i]=new JLabel("运行时间(秒)");
143                 jl2c2_1[i].setFont(new   java.awt.Font("宋体",   1,   10));
144                 jl2c2_1[i].setForeground(Color.blue);            
145                 jtf21_1[i]=new JTextField(5);
146                 jtf21_1[i].setFont(new   java.awt.Font("宋体",   1,   35));
147                 jtf21_1[i].setForeground(Color.red);
148                 if(i>number0)
149                 {
150                 jtf21_1[i].setText("NO输入");    
151                 jtf21_1[i].setFont(new   java.awt.Font("宋体",   1,   30));
152                 jtf21_1[i].setForeground(Color.black);
153                 }
154                 jtf22_1[i]=new JTextField(5);
155                 jtf22_1[i].setFont(new   java.awt.Font("宋体",   1,   35));
156                 jtf22_1[i].setForeground(Color.blue);
157                 if(i>number0)
158                 {
159                 jtf22_1[i].setText("NO输入");    
160                 jtf22_1[i].setFont(new   java.awt.Font("宋体",   1,   30));
161                 jtf22_1[i].setForeground(Color.black);
162                 }
163                 jp2a_1[i].setLayout(new GridLayout(5,1));
164                 switch(i)
165                 {
166                 case 1:
167                     jl2b_1[i]=new JLabel(" 任务A");
168                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
169                     jl2b_1[i].setForeground(Color.red);
170                     break;
171                 case 2:
172                     jl2b_1[i]=new JLabel(" 任务B");
173                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
174                     jl2b_1[i].setForeground(Color.red);
175                     break;
176                 case 3:
177                     jl2b_1[i]=new JLabel(" 任务C");
178                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
179                     jl2b_1[i].setForeground(Color.red);
180                     break;
181                 case 4:
182                     jl2b_1[i]=new JLabel(" 任务D");
183                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
184                     jl2b_1[i].setForeground(Color.red);
185                     break;
186                 case 5:
187                     jl2b_1[i]=new JLabel(" 任务E");
188                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
189                     jl2b_1[i].setForeground(Color.red);
190                     break;
191                 case 6:
192                     jl2b_1[i]=new JLabel(" 任务F");
193                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
194                     jl2b_1[i].setForeground(Color.red);
195                     break;
196                 case 7:
197                     jl2b_1[i]=new JLabel(" 任务G");
198                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
199                     jl2b_1[i].setForeground(Color.red);
200                     break;
201                 case 8:
202                     jl2b_1[i]=new JLabel(" 任务H");
203                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
204                     jl2b_1[i].setForeground(Color.red);
205                     break;
206                 case 9:
207                     jl2b_1[i]=new JLabel(" 任务I");
208                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
209                     jl2b_1[i].setForeground(Color.red);
210                     break;
211                 case 10:
212                     jl2b_1[i]=new JLabel(" 任务J");
213                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
214                     jl2b_1[i].setForeground(Color.red);
215                     break;
216                 case 11:
217                     jl2b_1[i]=new JLabel(" 任务K");
218                     jl2b_1[i].setFont(new   java.awt.Font("宋体",   1,   15));
219                     jl2b_1[i].setForeground(Color.red);
220                     break;
221                 }
222                 jp2a_1[i].add(jl2b_1[i]);
223                 jp2a_1[i].add(jl2c1_1[i]);
224                 jp2a_1[i].add(jtf21_1[i]);
225                 jp2a_1[i].add(jl2c2_1[i]);
226                 jp2a_1[i].add(jtf22_1[i]);
227                 jp_1.add(jp2a_1[i]);
228             }    
229             jp4x2=new JPanel();
230             jb_1=new JButton();
231             jb_2=new JButton();
232             jb_3=new JButton();
233             lan2=new JLabel(new ImageIcon("F:/text/lan2.png"));
234             chu=new JLabel(new ImageIcon("F:/text/chu.png"));
235             jp0.setLayout(new BorderLayout());
236             //第一栏
237             jp1.setLayout(new GridLayout(2,1));
238             
239             jp1.add(jp22);    
240             for(int i=0;i<4;i++)
241             {
242                 x14x[i]=new JPanel();
243                 switch(i)//这里用来判断第二栏的排序图该如何贴
244                 {
245                 case 0:p14p[i]=new JLabel(new ImageIcon("F:/text/1.png"));x14x[i].add(p14p[i]);break;
246                 case 1:p14p[i]=new JLabel(new ImageIcon("F:/text/2.png"));x14x[i].add(p14p[i]);break;
247                 case 2:p14p[i]=new JLabel(new ImageIcon("F:/text/3.png"));x14x[i].add(p14p[i]);break;
248                 case 3:p14p[i]=new JLabel(new ImageIcon("F:/text/4.png"));x14x[i].add(p14p[i]);break;
249                 }
250                 jp2.add(x14x[i]);
251             }
252             jp1.add(jp2);        
253             jp2.setLayout(new GridLayout(1,5));
254             jp222.setLayout(new BorderLayout() );
255             jp222.add(jlb2,BorderLayout.CENTER);
256             jp2.add(jp222);
257             
258     /*将等待图加到jp22*/jp22.setLayout(null);
259                     jp22.setBackground(Color.BLACK);
260                     for (int i = 0; i<11; i++) 
261                     { 
262                         no[i] = new JLabel(new ImageIcon("F:/text/no.png"));
263                         jp22.add(no[i]);
264                         no[i].setBounds(i*70+14*i, 0, 70, 176);
265                         lan[i] =new JLabel(new ImageIcon("F:/text/lan.png"));
266                         jp22.add(lan[i]);
267                         lan[i].setBounds((i-1)*14+i*70,0 , 14, 176);
268                         /* 控制图像的位置大小 */
269                     }
270                     jp22.add(lan2);
271                     lan2.setBounds(960,0,14, 176);
272                     jp22.add(chu);
273                     chu.setBounds(1044,0,155, 176);
274             //第四栏
275             jp4x2=new JPanel();
276             jp4x2.setLayout(new GridLayout(2,1));
277             jp4=new JPanel();
278             jp4.setLayout(new GridLayout(1,3));
279             jb_1=new JButton("确定录完");
280             jb_2=new JButton("开始任务");
281             jb_3=new JButton("一键终止任务");
282             jp4x2.add(x2);
283             jp4x2.add(jp4);
284     /*注册开始键监听*/    
285             jb_1.addActionListener(this);
286             jb_2.addActionListener(this);
287             jb_3.addActionListener(this);
288             jb_1.setActionCommand("11");
289             jb_2.setActionCommand("aa");
290             jb_3.setActionCommand("bb");
291             jb_1.setBackground(Color.pink);
292             jb_2.setBackground(Color.green);
293             jb_3.setBackground(Color.red);
294             jp4.add(jb_1);
295             jp4.add(jb_2);
296             jp4.add(jb_3);
297             //按1,2,3栏的顺序添加面板进jp0
298             jp0.add(jp1,BorderLayout.NORTH);
299             jp0.add(jp_1,BorderLayout.CENTER);
300             jp0.add(jp4x2,BorderLayout.SOUTH);
301             //把jp0和textAreaz装进拉伸版
302             jsp.add(jp0);
303             jsp.add(gun);
304             jf0.add(jsp);
305             //显示
306             jf0.setSize(1360,600);
307             jf0.setLocation(0,50);
308             jf0.setResizable(false);
309             jf0.setTitle("微型操作系统3合一");
310             jf0.setVisible(true);
311         }
312         public void gettime()//获取时间的方法
313         {
314             Calendar c = Calendar.getInstance(); 
315             int gominute = c.get(Calendar.MINUTE); 
316             int gosecond = c.get(Calendar.SECOND);
317             int time=gominute*60+gosecond;
318             all1=time;
319         }
320         public void gettime2()//获取时间的方法
321         {
322             Calendar c = Calendar.getInstance(); 
323             int gominute = c.get(Calendar.MINUTE); 
324             int gosecond = c.get(Calendar.SECOND);
325             int time=gominute*60+gosecond;
326             all2=time;
327         }
328         public void rungo()
329         {
330             choose=1;
331         }
332         public void go()
333         {
334             outrun reface=new outrun();
335             Thread yy=new Thread(reface);
336             if(choose==1)
337             {
338             yy.start();
339             }
340         }
341         public void stop()
342         {
343             end=1;
344         }
345         public void outjilu()
346         {
347             
348                 inJCB doin=new inJCB();
349                 for(int i=1;i<=number0;i++)
350                 {
351                 doin.p1[i]=new JCB();    
352                 doin.p2[i]=new JCB();
353                 doin.p3[i]=new JCB();
354                 doin.p1[i].setGotime((int) (Double.parseDouble(jtf21_1[i].getText())));
355                 doin.p2[i].setGotime((int) (Double.parseDouble(jtf21_1[i].getText())));
356                 doin.p3[i].setGotime((int) (Double.parseDouble(jtf21_1[i].getText())));
357                 doin.p1[i].setRuntime((int) (Double.parseDouble(jtf22_1[i].getText())));
358                 doin.p2[i].setRuntime((int) (Double.parseDouble(jtf22_1[i].getText())));
359                 doin.p3[i].setRuntime((int) (Double.parseDouble(jtf22_1[i].getText())));
360                 switch(i)
361                 {
362                 case 1:
363                     doin.p1[i].setNumber("A任务");
364                     doin.p2[i].setNumber("A任务");
365                     doin.p3[i].setNumber("A任务");
366                     break;
367                 case 2:
368                     doin.p1[i].setNumber("B任务");
369                     doin.p2[i].setNumber("B任务");
370                     doin.p3[i].setNumber("B任务");
371                     break;
372                 case 3:
373                     doin.p1[i].setNumber("C任务");
374                     doin.p2[i].setNumber("C任务");
375                     doin.p3[i].setNumber("C任务");
376                     break;
377                 case 4:
378                     doin.p1[i].setNumber("D任务");
379                     doin.p2[i].setNumber("D任务");
380                     doin.p3[i].setNumber("D任务");
381                     break;
382                 case 5:
383                     doin.p1[i].setNumber("E任务");
384                     doin.p2[i].setNumber("E任务");
385                     doin.p3[i].setNumber("E任务");
386                     break;
387                 case 6:
388                     doin.p1[i].setNumber("F任务");
389                     doin.p2[i].setNumber("F任务");
390                     doin.p3[i].setNumber("F任务");
391                     break;
392                 case 7:
393                     doin.p1[i].setNumber("G任务");
394                     doin.p2[i].setNumber("G任务");
395                     doin.p3[i].setNumber("G任务");
396                     break;
397                 case 8:
398                     doin.p1[i].setNumber("H任务");
399                     doin.p2[i].setNumber("H任务");
400                     doin.p3[i].setNumber("H任务");
401                     break;
402                 case 9:
403                     doin.p1[i].setNumber("I任务");
404                     doin.p2[i].setNumber("I任务");
405                     doin.p3[i].setNumber("I任务");
406                     break;
407                 case 10:
408                     doin.p1[i].setNumber("J任务");
409                     doin.p2[i].setNumber("J任务");
410                     doin.p3[i].setNumber("J任务");
411                     break;
412                 case 11:
413                     doin.p1[i].setNumber("K任务");
414                     doin.p2[i].setNumber("K任务");
415                     doin.p3[i].setNumber("K任务");
416                     break;
417                 }
418                 }
419                 doin.inlist3(number0);
420                 
421                 for(int i=1;i<=number0;i++)//调试
422                 {
423                     System.out.println("p1.gotime"+i+"="+doin.p1[i].getGotime());
424                     System.out.println("p1.gotime"+i+"="+doin.p2[i].getGotime());
425                     System.out.println("p1.gotime"+i+"="+doin.p3[i].getGotime());
426                 }
427 
428             
429         }
430         @Override
431         public void actionPerformed(ActionEvent e) //事件处理时欲要改变外界的值应该传进方法
432         {
433             if (e.getActionCommand().equals("aa")) 
434             {
435                 rungo();
436                 System.out.println(all1);
437                 go();
438             }
439             if(e.getActionCommand().equals("bb"))
440             {
441                 stop();
442             }
443             if(e.getActionCommand().equals("11"))
444             {
445                 outjilu();
446             }
447         }
448 }
  1 package System3;
  2 
  3 import java.util.*;
  4 import System2.face3;
  5 /*
  6  *     功能:这部分用来专门用来创建ArrayList链表的 
  7  * 
  8  * 第四次日志:我想要在jilu类中就要处理完三个任务的排序,然后再存到三个列表中
  9  * 根据目前情况,我要专门创建一个dowell类来对JCB类输入并排序存入链表
 10  * */
 11 //创建存储任务的基本信息   1 号数 2 运行时间 3 到达时间 
 12 
 13 class  JCB
 14 {
 15     private String number;//号数
 16     private int runtime=0;//运行时间
 17     private int gotime=0;//到达时间
 18     private int averagewaittime;//平均等待时间 zzz这个做算法时再算
 19     private int zouzhuantime;//平均周转时间     zzz这个做算法时再算
 20     public String getNumber() {
 21         return number;
 22     }
 23     public void setNumber(String number) {
 24         this.number = number;
 25     }
 26     public int getRuntime() {
 27         return runtime;
 28     }
 29     public void setRuntime(int runtime) {
 30         this.runtime = runtime;
 31     }
 32     public int getGotime() {
 33         return gotime;
 34     }
 35     public void setGotime(int gotime) {
 36         this.gotime = gotime;
 37     }
 38     public int getAveragewaittime() {
 39         return averagewaittime;
 40     }
 41     public void setAveragewaittime(int averagewaittime) {
 42         this.averagewaittime = averagewaittime;
 43     }
 44     public int getZouzhuantime() {
 45         return zouzhuantime;
 46     }
 47     public void setZouzhuantime(int zouzhuantime) {
 48         this.zouzhuantime = zouzhuantime;
 49     }
 50 }
 51 //在这里弄个记录jcb数据的类
 52 class inJCB
 53 {
 54 
 55     JCB p1[]=new JCB[13];
 56     JCB p2[]=new JCB[13];
 57     JCB p3[]=new JCB[13];
 58     ArrayList<JCB> p11=new ArrayList<JCB>();//用来存储先来先服务
 59     ArrayList<JCB> p22=new ArrayList<JCB>();//用来存储短作业优先
 60     ArrayList<JCB> p33=new ArrayList<JCB>();//用来存储响应比高者优先
 61     public void inlist3(int number0)  //这里将三个JCB分别加入三个不同的链表并完成排序
 62     { 
 63 
 64         for(int i=1;i<=number0;i++)
 65         {
 66         p11.add(p1[i]);
 67         p22.add(p2[i]);
 68         p33.add(p3[i]);
 69         }
 70                             Collections.sort(p11,new Comparator<JCB>()//对链表P1排序
 71                             {
 72                             public boolean equals(Object o){
 73                                 return false;
 74                             }
 75                             public int compare(JCB mc1,JCB mc2){
 76                             return new Double(mc1.getGotime()).compareTo(new Double( mc2.getGotime()));
 77                             }
 78                             });
 79                             
 80                             Collections.sort(p22,new Comparator<JCB>()//对链表P2排序
 81                             {
 82                             public boolean equals(Object o){
 83                                 return false;
 84                             }
 85                             public int compare(JCB mc1,JCB mc2){
 86                             return new Double(mc1.getGotime()).compareTo(new Double( mc2.getGotime()));
 87                             }
 88                             });
 89                             
 90                             Collections.sort(p33,new Comparator<JCB>()//对链表P3排序
 91                             {
 92                             public boolean equals(Object o){
 93                                 return false;
 94                             }
 95                             public int compare(JCB mc1,JCB mc2){
 96                             return new Double(mc1.getGotime()).compareTo(new Double( mc2.getGotime()));
 97                             }
 98                             });
 99     }
100 }
  1 package System3;
  2 /*
  3  * 功能:这部分专门用来刷新面板时间那一块
  4  * */
  5 import java.awt.BorderLayout;
  6 import java.awt.Color;
  7 import java.awt.GridBagLayout;
  8 import java.awt.GridLayout;
  9 
 10 import javax.swing.*;
 11 
 12 import java.awt.event.*;
 13 
 14 
 15 class outrun extends face4 implements Runnable
 16 {
 17     public void rebuild()
 18     {
 19         gettime2();
 20         now=all2-all1;
 21         jlb2=new JButton(now+"秒");
 22         jlb2.setBackground(Color.RED);
 23         jlb2.setFont(new   java.awt.Font("Dialog",   1,   35));
 24         jp2.setLayout(new GridLayout(1,15));
 25         jp222.setLayout(new BorderLayout() );
 26         jp222.add(jlb2,BorderLayout.CENTER);
 27         jp2.add(jp222);
 28 //        //以下这部分是用来一直显示输入框的数据
 29 //        for(int i=1;i<12;i++)
 30 //        {
 31 //        jtf21_1[i].setText( String.valueOf(doin.p1[i].getGotime()));
 32 //        jtf22_1[i].setText( String.valueOf(doin.p1[i].getRuntime()));
 33 //        jp2a_1[i].add(jtf21_1[i]);
 34 //        jp2a_1[i].add(jtf22_1[i]);
 35 //        jp_1.add(jp2a_1[i]);
 36 //        jp1.add(jp2);
 37 //        jp0.add(jp1,BorderLayout.NORTH);
 38 //        jp0.add(jp_1,BorderLayout.CENTER);
 39 //        jsp.add(jp0);
 40 //        this.add(jsp);
 41 //        }
 42 //        显示
 43         jf0.setSize(1360,600);
 44         jf0.setLocation(0,50);
 45         jf0.setResizable(true);
 46         jf0.setTitle("微型操作系统3合一");
 47         jf0.setVisible(true);
 48     }
 49     @Override
 50     public void run() 
 51     {
 52         gettime();
 53         while(true)
 54         {
 55             if(end==0)
 56             {
 57                 try {
 58                     Thread.sleep(1000);
 59                     rebuild();
 60                 } catch (Exception e) {
 61                     // TODO: handle exception
 62                 }
 63             }
 64         }
 65         
 66     }
 67     
 68 }
 69 //在此创出一个透明面板用来记录用户要输入的任务数
 70 class TestFrameDemo implements ActionListener
 71 {    
 72     static int number;
 73     static  int getNumber() {
 74         return number;
 75     }
 76     private JPanel n1;
 77     private JPanel n10;
 78     JLabel njl1;
 79     private JPanel n11;
 80     private JPanel n12;
 81     JCheckBox n1a,n1b,n1c,n1d,n1e,n1f,n1g,n1h,n1i,n1j,n1k;
 82     JButton nb12;
 83     ButtonGroup nbg11;
 84     JFrame myFrame=new JFrame();
 85     public void opengo()
 86     {
 87         n1=new JPanel();
 88         n10=new JPanel();
 89         njl1=new JLabel(" 请选择要运行的任务数");
 90         njl1.setFont(new   java.awt.Font("宋体",   1,   18));
 91         njl1.setForeground(Color.red);
 92         n10.setBackground(Color.yellow);
 93         n10.add(njl1);
 94         n11=new JPanel();
 95         n12=new JPanel();
 96         n11.setBackground(Color.white);
 97         n12.setBackground(Color.green);
 98         n1.setLayout(new GridLayout(3,1));
 99         n1.add(n10);
100         n1.add(n11);
101         n1.add(n12);
102         
103         nbg11=new ButtonGroup();
104         n1a=new JCheckBox("1");
105         n1a.addActionListener(this);
106         n1a.setActionCommand("1");
107         n1b=new JCheckBox("2");
108         n1b.addActionListener(this);
109         n1b.setActionCommand("2");
110         n1c=new JCheckBox("3");
111         n1c.addActionListener(this);
112         n1c.setActionCommand("3");
113         n1d=new JCheckBox("4");
114         n1d.addActionListener(this);
115         n1d.setActionCommand("4");
116         n1e=new JCheckBox("5");
117         n1e.addActionListener(this);
118         n1e.setActionCommand("5");
119         n1f=new JCheckBox("6");
120         n1f.addActionListener(this);
121         n1f.setActionCommand("6");
122         n1g=new JCheckBox("7");
123         n1g.addActionListener(this);
124         n1g.setActionCommand("7");
125         n1h=new JCheckBox("8");
126         n1h.addActionListener(this);
127         n1h.setActionCommand("8");
128         n1i=new JCheckBox("9");
129         n1i.addActionListener(this);
130         n1i.setActionCommand("9");
131         n1j=new JCheckBox("10");
132         n1j.addActionListener(this);
133         n1j.setActionCommand("10");
134         n1k=new JCheckBox("11");
135         n1k.addActionListener(this);
136         n1k.setActionCommand("11");
137         nbg11.add(n1a);
138         nbg11.add(n1b);
139         nbg11.add(n1c);
140         nbg11.add(n1d);
141         nbg11.add(n1e);
142         nbg11.add(n1f);
143         nbg11.add(n1g);
144         nbg11.add(n1h);
145         nbg11.add(n1i);
146         nbg11.add(n1j);
147         nbg11.add(n1k);
148         n11.add(n1a);
149         n11.add(n1b);
150         n11.add(n1c);
151         n11.add(n1d);
152         n11.add(n1e);
153         n11.add(n1f);
154         n11.add(n1g);
155         n11.add(n1h);
156         n11.add(n1i);
157         n11.add(n1j);
158         n11.add(n1k);
159         nb12=new JButton("确定");
160         nb12.addActionListener(this);
161         nb12.setActionCommand("sure");
162         n12.add(nb12);
163         myFrame.add(n1);
164         myFrame.setUndecorated(true);
165         myFrame.setSize(230, 230);
166         myFrame.setLocation(500,200);
167         myFrame.setVisible(true);
168 
169     }    
170         public void dispose()
171         {
172 
173             myFrame.setVisible(false);
174             face4 face44=new face4();    
175 //            face44.number0=number;
176 //            face4 .jf0.setVisible(true);
177         }
178     @Override
179     public void actionPerformed(ActionEvent e) {
180         if(e.getActionCommand().equals("1"))
181         {
182             number=1;
183         }
184         if(e.getActionCommand().equals("2"))
185         {
186             number=2;
187         }
188         if(e.getActionCommand().equals("3"))
189         {
190             number=3;
191         }
192         if(e.getActionCommand().equals("4"))
193         {
194             number=4;
195         }
196         if(e.getActionCommand().equals("5"))
197         {
198             number=5;
199         }
200         if(e.getActionCommand().equals("6"))
201         {
202             number=6;
203         }
204         if(e.getActionCommand().equals("7"))
205         {
206             number=7;
207         }
208         if(e.getActionCommand().equals("8"))
209         {
210             number=8;
211         }
212         if(e.getActionCommand().equals("9"))
213         {
214             number=9;
215         }
216         if(e.getActionCommand().equals("10"))
217         {
218             number=10;
219         }
220         if(e.getActionCommand().equals("11"))
221         {
222             number=11;
223         }
224         if(e.getActionCommand().equals("sure"))
225         {
226             dispose();
227             
228         }
229     }
230 }

"F:/text/pai.png"

"F:/text/lan2.png"

F:/text/chu.png"

"F:/text/1.png"

F:/text/2.png"

"F:/text/3.png"

"F:/text/4.png"

F:/text/no.png"

"F:/text/lan.png"

原文地址:https://www.cnblogs.com/vip-fan1234xiang/p/4492394.html