JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本
生活随笔
收集整理的這篇文章主要介紹了
JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 package System2;
2
3 import javax.swing.*;
4
5 import java.awt.*;
6 import java.awt.event.ActionEvent;
7 import java.awt.event.ActionListener;
8 import java.awt.event.KeyListener;
9 import java.util.*;
10 /**
11 * 作者:范銘祥
12 * 內(nèi)容及功能: 顯示框創(chuàng)造1.0
13 * 我將在這個(gè)類里 一:面板1:用來(lái)先顯示一副圖表示順序和處理中
14 * 二:面板2:類1:用來(lái)顯示要處理的項(xiàng) 接收 A在排隊(duì)的顏色任務(wù)圖
15 * B在處理中的顏色任務(wù)圖
16 * 包含了四個(gè)類:1 PCB類 2先來(lái)先服類
17 * 3 短作業(yè)優(yōu)先算法 4 響應(yīng)比者高優(yōu)先算法
18 * 注:以上均采用ArrayList集合的方法
19 * 四:面板4:2個(gè)按鈕 1個(gè)Text文本框
20 * 按鈕1對(duì)應(yīng)每3個(gè)分頁(yè)框 按鈕2對(duì)應(yīng)3個(gè)分頁(yè)框 分別有三種不同的做法
21 * text文本接收 按鈕一傳來(lái)的頁(yè)框號(hào)從而 獲取相應(yīng)的分頁(yè)框信息
22 *
23 *第一次日志: 監(jiān)聽的事件處理方法變量是出不來(lái),但方法可進(jìn)進(jìn)哦。
24 * 明天我就試在原類更新面板,因?yàn)橛脩羰卿浲瓴劈c(diǎn)擊開始按鈕,所以不斷刷新不影響用戶
25 * 輸入。
26 *第二次日志:當(dāng)我做完了整個(gè)界面face2看完效果后,當(dāng)時(shí)我就不樂意了,因?yàn)槿绻脩粢诓煌拿姘嫔? 27 *輸入3次才可完全享受3中操作系統(tǒng)處理方法,最讓我難受的是不能單獨(dú)刷新面板的某一部分,所以我只能
28 *采用刷新JFrame的方法,終于實(shí)現(xiàn)了時(shí)間不斷自動(dòng)跳轉(zhuǎn)但問題出現(xiàn)了,用戶的輸入接面也在不斷刷新
29 */
30 public class face3 extends JFrame implements ActionListener,Runnable{
31 /*其它*/ int choose=0;
32
33 /*外圍*/ JPanel jp0;
34 JSplitPane jsp;//可收縮面板
35 JTextArea jta;
36 JScrollPane gun;//設(shè)置滾動(dòng)框
37
38 /*1*/ JLabel jlb1;
39 JPanel jp1;
40
41 /*2*/ JPanel jp2;
42 JPanel jp22;
43 JPanel jp222;
44 JLabel jlb2;//用來(lái)接替第二部分
45 JLabel[] no = new JLabel[11];
46 JLabel[] lan= new JLabel[11];
47 JLabel lan2;
48 public int all1;
49 int Atime=all1;
50 public int all2;
51 int now;
52 /*2x*/
53 JPanel x2,x2_1,x2_2,x2_3;
54 JCheckBox jcb_1,jcb_2,jcb_3;//選擇按鈕
55 ButtonGroup bg;//only one選擇組
56
57 /*3*/ JPanel jp_1;//屬于 jp3 屬于第三部分的分頁(yè)框面板
58
59 //
60 /*以下部分很重要 是該系統(tǒng)一大部分 錄入*/
61 //
62 JPanel[] jp2a_1=new JPanel[12];
63 JLabel[] jl2b_1=new JLabel[12];//打是X任務(wù)標(biāo)簽的
64 JLabel jl2c1_1[]=new JLabel[12];
65 JLabel jl2c2_1[]=new JLabel[12];
66
67
68 /*4*/ JPanel jp4,jp4x2;
69 JButton jb_1,jb_2;
70 public static final int one_ge = 50;//代表一幅圖的寬度
71
72 public static void main(String[] args)
73 {
74 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
75 face3 face33=new face3();
76 //啟動(dòng)face33線程
77 Thread t=new Thread(face33);
78 t.start();
79 }
80 public face3()
81 { //全部在這定義
82 jp0=new JPanel();
83 jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
84 /*可以伸縮*/jsp.setOneTouchExpandable(true);
85 jta=new JTextArea("!!!以后操作細(xì)節(jié)將在這里顯示!!!\n");
86 gun=new JScrollPane(jta);
87 jlb1=new JLabel(new ImageIcon("F:/text/pai.png"));
88 jp1=new JPanel();
89 jp2=new JPanel();
90 jp22=new JPanel();
91 jp222=new JPanel();
92 jlb2=new JLabel(Atime+"秒");
93 jlb2.setBackground(Color.RED);
94 jlb2.setFont(new java.awt.Font("Dialog", 1, 77));
95 jlb2.setForeground(Color.red);
96 x2=new JPanel();
97 x2.setLayout(new BorderLayout());
98 x2_1=new JPanel();
99 x2_2=new JPanel();
100 x2_3=new JPanel();
101 jcb_1=new JCheckBox("先來(lái)先服務(wù)");
102 jcb_2=new JCheckBox("短作業(yè)優(yōu)先");
103 jcb_3=new JCheckBox("響應(yīng)比者高優(yōu)先");
104 //一定要把 jrb1 jrb2 放入到一個(gè)ButtonGroup
105 ButtonGroup bg=new ButtonGroup();
106 bg.add(jcb_1);
107 bg.add(jcb_2);
108 bg.add(jcb_3);
109 x2_2.add(jcb_1);
110 x2_2.add(jcb_2);
111 x2_2.add(jcb_3);
112 x2.add(x2_1,BorderLayout.WEST);
113 x2.add(x2_2,BorderLayout.CENTER);
114 x2.add(x2_3,BorderLayout.EAST);
115 jp_1=new JPanel();
116 jp_1.setLayout(new GridLayout(1,11));
117 JTextField jtf21_1[]=new JTextField[12];
118 JTextField jtf22_1[]=new JTextField[12];
119 //第一復(fù)頁(yè)面板
120 for(int i=1;i<=11;i++)
121 {
122 jp2a_1[i]=new JPanel();
123 jl2c1_1[i]=new JLabel("到達(dá)時(shí)間(秒)");
124 jl2c1_1[i].setFont(new java.awt.Font("宋體", 1, 10));
125 jl2c1_1[i].setForeground(Color.red);
126 jl2c2_1[i]=new JLabel("運(yùn)行時(shí)間(秒)");
127 jl2c2_1[i].setFont(new java.awt.Font("宋體", 1, 10));
128 jl2c2_1[i].setForeground(Color.blue);
129 jtf21_1[i]=new JTextField(5);
130 jtf21_1[i].setFont(new java.awt.Font("宋體", 1, 35));
131 jtf21_1[i].setForeground(Color.red);
132 jtf22_1[i]=new JTextField(5);
133 jtf22_1[i].setFont(new java.awt.Font("宋體", 1, 35));
134 jtf22_1[i].setForeground(Color.blue);
135 jp2a_1[i].setLayout(new GridLayout(5,1));
136
137 switch(i)
138 {
139 case 1:
140 jl2b_1[i]=new JLabel(" 任務(wù)A");
141 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 30));
142 jl2b_1[i].setForeground(Color.red);
143 break;
144 case 2:
145 jl2b_1[i]=new JLabel(" 任務(wù)B");
146 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
147 jl2b_1[i].setForeground(Color.red);
148 break;
149 case 3:
150 jl2b_1[i]=new JLabel(" 任務(wù)C");
151 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
152 jl2b_1[i].setForeground(Color.red);
153 break;
154 case 4:
155 jl2b_1[i]=new JLabel(" 任務(wù)D");
156 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
157 jl2b_1[i].setForeground(Color.red);
158 break;
159 case 5:
160 jl2b_1[i]=new JLabel(" 任務(wù)E");
161 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
162 jl2b_1[i].setForeground(Color.red);
163 break;
164 case 6:
165 jl2b_1[i]=new JLabel(" 任務(wù)F");
166 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
167 jl2b_1[i].setForeground(Color.red);
168 break;
169 case 7:
170 jl2b_1[i]=new JLabel(" 任務(wù)G");
171 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
172 jl2b_1[i].setForeground(Color.red);
173 break;
174 case 8:
175 jl2b_1[i]=new JLabel(" 任務(wù)H");
176 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
177 jl2b_1[i].setForeground(Color.red);
178 break;
179 case 9:
180 jl2b_1[i]=new JLabel(" 任務(wù)I");
181 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
182 jl2b_1[i].setForeground(Color.red);
183 break;
184 case 10:
185 jl2b_1[i]=new JLabel(" 任務(wù)J");
186 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
187 jl2b_1[i].setForeground(Color.red);
188 break;
189 case 11:
190 jl2b_1[i]=new JLabel(" 任務(wù)K");
191 jl2b_1[i].setFont(new java.awt.Font("宋體", 1, 15));
192 jl2b_1[i].setForeground(Color.red);
193 break;
194 }
195 jp2a_1[i].add(jl2b_1[i]);
196 jp2a_1[i].add(jl2c1_1[i]);
197 jp2a_1[i].add(jtf21_1[i]);
198 jp2a_1[i].add(jl2c2_1[i]);
199 jp2a_1[i].add(jtf22_1[i]);
200 jp_1.add(jp2a_1[i]);
201 }
202 jp4x2=new JPanel();
203 jb_1=new JButton();
204 jb_2=new JButton();
205 lan2=new JLabel(new ImageIcon("F:/text/lan2.png"));
206 jp0.setLayout(new BorderLayout());
207 //第一欄
208 jp1.setLayout(new GridLayout(2,1));
209 jp1.add(jlb1);
210 jp1.add(jp2);
211 jp2.setLayout(new BorderLayout());
212 jp2.add(jp22,BorderLayout.CENTER);
213 /*將等待圖加到j(luò)p22*/jp22.setLayout(null);
214 jp22.setBackground(Color.WHITE);
215 for (int i = 0; i<11; i++)
216 {
217 no[i] = new JLabel(new ImageIcon("F:/text/no.png"));
218 jp22.add(no[i]);
219 no[i].setBounds(i*48+14*i, 0, 48, 134);
220 lan[i] =new JLabel(new ImageIcon("F:/text/lan.png"));
221 jp22.add(lan[i]);
222 lan[i].setBounds((i-1)*14+i*48,0 , 14, 134);
223 /* 控制圖像的位置大小 */
224 }
225 jp22.add(lan2);
226 lan2.setBounds(860,0,14, 134);
227 jp222.add(jlb2);
228 jp2.add(jp222,BorderLayout.EAST);
229 //第三欄
230 // jp_1.setBackground(Color.RED);//給面板設(shè)置背景顏色
231 //第四欄
232 jp4x2=new JPanel();
233 jp4x2.setLayout(new GridLayout(2,1));
234 jp4=new JPanel();
235 jp4.setLayout(new GridLayout(1,2));
236 jb_1=new JButton("確定錄完");
237 jb_2=new JButton("開始任務(wù)");
238 jp4x2.add(x2);
239 jp4x2.add(jp4);
240 /*注冊(cè)開始鍵監(jiān)聽*/
241 jb_2.addActionListener(this);
242 jb_2.setActionCommand("aa");
243 jb_1.setBackground(Color.pink);
244 jb_2.setBackground(Color.green);
245 jp4.add(jb_1);
246 jp4.add(jb_2);
247 //按1,2,3欄的順序添加面板進(jìn)jp0
248 jp0.add(jp1,BorderLayout.NORTH);
249 jp0.add(jp_1,BorderLayout.CENTER);
250 jp0.add(jp4x2,BorderLayout.SOUTH);
251 //把jp0和textAreaz裝進(jìn)拉伸版
252 jsp.add(jp0);
253 jsp.add(gun);
254 this.add(jsp);
255 //顯示
256 this.setSize(1270,600);
257 this.setLocation(60,50);
258 this.setResizable(false);
259 this.setTitle("微型操作系統(tǒng)3合一");
260 this.setVisible(true);
261 }
262 public void gettime()//獲取時(shí)間的方法
263 {
264 Calendar c = Calendar.getInstance();
265 int gominute = c.get(Calendar.MINUTE);
266 int gosecond = c.get(Calendar.SECOND);
267 int time=gominute*60+gosecond;
268 all1=time;
269 }
270 public void gettime2()//獲取時(shí)間的方法
271 {
272 Calendar c = Calendar.getInstance();
273 int gominute = c.get(Calendar.MINUTE);
274 int gosecond = c.get(Calendar.SECOND);
275 int time=gominute*60+gosecond;
276 all2=time;
277 }
278 public void rungo()
279 {
280 choose=1;
281 }
282 @Override
283 public void actionPerformed(ActionEvent e) //事件處理時(shí)欲要改變外界的值應(yīng)該傳進(jìn)方法
284 {
285 if (e.getActionCommand().equals("aa"))
286 {
287 gettime();
288 rungo();
289 System.out.println(all1);
290 }
291
292 }
293 public void repaint()//這個(gè)方法用來(lái)專門刷新面板除了用戶輸入界面例外
294 {
295 //以下是用來(lái)刷新面版 我只到畫板的刷新方法用一句this.repaint();但這不是畫板。。。沒辦法
296 jp0=new JPanel();
297 jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
298 /*可以伸縮*/jsp.setOneTouchExpandable(true);
299 jta=new JTextArea("!!!以后操作細(xì)節(jié)將在這里顯示!!!\n");
300 gun=new JScrollPane(jta);
301 jlb1=new JLabel(new ImageIcon("F:/text/pai.png"));
302 jp1=new JPanel();
303 jp2=new JPanel();
304 jp22=new JPanel();
305 jp222=new JPanel();
306 int Atime=all2-all1;
307 if(choose==0)
308 {
309 Atime=0;
310 }
311 jlb2=new JLabel(Atime+"秒");
312 jlb2.setBackground(Color.RED);
313 jlb2.setFont(new java.awt.Font("Dialog", 1, 77));
314 jlb2.setForeground(Color.red);
315 x2=new JPanel();
316 x2.setLayout(new BorderLayout());
317 x2_1=new JPanel();
318 x2_2=new JPanel();
319 x2_3=new JPanel();
320 jcb_1=new JCheckBox("先來(lái)先服務(wù)");
321 jcb_2=new JCheckBox("短作業(yè)優(yōu)先");
322 jcb_3=new JCheckBox("響應(yīng)比者高優(yōu)先");
323 //一定要把 jrb1 jrb2 放入到一個(gè)ButtonGroup
324 ButtonGroup bg=new ButtonGroup();
325 bg.add(jcb_1);
326 bg.add(jcb_2);
327 bg.add(jcb_3);
328 x2_2.add(jcb_1);
329 x2_2.add(jcb_2);
330 x2_2.add(jcb_3);
331 x2.add(x2_1,BorderLayout.WEST);
332 x2.add(x2_2,BorderLayout.CENTER);
333 x2.add(x2_3,BorderLayout.EAST);
334 jp4x2=new JPanel();
335 jb_1=new JButton();
336 jb_2=new JButton();
337 lan2=new JLabel(new ImageIcon("F:/text/lan2.png"));
338 jp0.setLayout(new BorderLayout());
339 //第一欄
340 jp1.setLayout(new GridLayout(2,1));
341 jp1.add(jlb1);
342 jp1.add(jp2);
343 jp2.setLayout(new BorderLayout());
344 jp2.add(jp22,BorderLayout.CENTER);
345 /*將等待圖加到j(luò)p22*/jp22.setLayout(null);
346 jp22.setBackground(Color.WHITE);
347 for (int i = 0; i<11; i++)
348 {
349 no[i] = new JLabel(new ImageIcon("F:/text/no.png"));
350 jp22.add(no[i]);
351 no[i].setBounds(i*48+14*i, 0, 48, 134);
352 lan[i] =new JLabel(new ImageIcon("F:/text/lan.png"));
353 jp22.add(lan[i]);
354 lan[i].setBounds((i-1)*14+i*48,0 , 14, 134);
355 /* 控制圖像的位置大小 */
356 }
357 jp22.add(lan2);
358 lan2.setBounds(860,0,14, 134);
359 jp222.add(jlb2);
360 jp2.add(jp222,BorderLayout.EAST);
361 //第三欄
362 // jp_1.setBackground(Color.RED);//給面板設(shè)置背景顏色
363 //第四欄
364 jp4x2=new JPanel();
365 jp4x2.setLayout(new GridLayout(2,1));
366 jp4=new JPanel();
367 jp4.setLayout(new GridLayout(1,2));
368 jb_1=new JButton("確定錄完");
369 jb_2=new JButton("開始任務(wù)");
370 jp4x2.add(x2);
371 jp4x2.add(jp4);
372 /*注冊(cè)開始鍵監(jiān)聽*/
373 jb_2.addActionListener(this);
374 jb_2.setActionCommand("aa");
375 jb_1.setBackground(Color.pink);
376 jb_2.setBackground(Color.green);
377 jp4.add(jb_1);
378 jp4.add(jb_2);
379 //按1,2,3欄的順序添加面板進(jìn)jp0
380 jp0.add(jp1,BorderLayout.NORTH);
381 jp0.add(jp_1,BorderLayout.CENTER);
382 jp0.add(jp4x2,BorderLayout.SOUTH);
383 //把jp0和textAreaz裝進(jìn)拉伸版
384 jsp.add(jp0);
385 jsp.add(gun);
386 this.add(jsp);
387 //顯示
388 this.setSize(1270,600);
389 this.setLocation(60,50);
390 this.setResizable(false);
391 this.setTitle("微型操作系統(tǒng)3合一");
392 this.setVisible(true);
393 }
394 @Override
395 public void run() {
396 while(true)
397 {
398 try {
399 Thread.sleep(1000);
400 } catch (Exception e) {}
401 gettime2();
402 repaint();
403 }
404 }
405 }
F:/text/pai.png
F:/text/lan2.png F:/text/no.png F:/text/lan.png
F:/text/pai.png
F:/text/lan2.png F:/text/no.png F:/text/lan.png
?
轉(zhuǎn)載于:https://www.cnblogs.com/vip-fan1234xiang/p/4492364.html
總結(jié)
以上是生活随笔為你收集整理的JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二周CoreiDRAW总结
- 下一篇: 函数递归以及尾递归调用