第三版本

 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("!!!以后操作细节将在这里显示!!!\n");

 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 }

 

你可能感兴趣的:(版本)