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"