這是第四版本 到了第五個版本我的程式程式碼大改了 效果很好 期待我再升級

範銘祥發表於2015-05-10
  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("!!以後操作細節這裡顯示!\n");
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"

 

相關文章