JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本
2015-05-10 16:02
204 查看
package System2; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyListener; import java.util.*; /** * 作者:范铭祥 * 内容及功能: 显示框创造1.0 * 我将在这个类里 一:面板1:用来先显示一副图表示顺序和处理中 * 二:面板2:类1:用来显示要处理的项 接收 A在排队的颜色任务图 * B在处理中的颜色任务图 * 包含了四个类:1 PCB类 2先来先服类 * 3 短作业优先算法 4 响应比者高优先算法 * 注:以上均采用ArrayList集合的方法 * 四:面板4:2个按钮 1个Text文本框 * 按钮1对应每3个分页框 按钮2对应3个分页框 分别有三种不同的做法 * text文本接收 按钮一传来的页框号从而 获取相应的分页框信息 * *第一次日志: 监听的事件处理方法变量是出不来,但方法可进进哦。 * 明天我就试在原类更新面板,因为用户是录完才点击开始按钮,所以不断刷新不影响用户 * 输入。 *第二次日志:当我做完了整个界面face2看完效果后,当时我就不乐意了,因为如果用户要在不同的面版上 *输入3次才可完全享受3中操作系统处理方法,最让我难受的是不能单独刷新面板的某一部分,所以我只能 *采用刷新JFrame的方法,终于实现了时间不断自动跳转但问题出现了,用户的输入接面也在不断刷新 */ public class face3 extends JFrame implements ActionListener,Runnable{ /*其它*/ int choose=0; /*外围*/ JPanel jp0; JSplitPane jsp;//可收缩面板 JTextArea jta; JScrollPane gun;//设置滚动框 /*1*/ JLabel jlb1; JPanel jp1; /*2*/ JPanel jp2; JPanel jp22; JPanel jp222; JLabel jlb2;//用来接替第二部分 JLabel[] no = new JLabel[11]; JLabel[] lan= new JLabel[11]; JLabel lan2; public int all1; int Atime=all1; public int all2; int now; /*2x*/ JPanel x2,x2_1,x2_2,x2_3; JCheckBox jcb_1,jcb_2,jcb_3;//选择按钮 ButtonGroup bg;//only one选择组 /*3*/ JPanel jp_1;//属于 jp3 属于第三部分的分页框面板 // /*以下部分很重要 是该系统一大部分 录入*/ // JPanel[] jp2a_1=new JPanel[12]; JLabel[] jl2b_1=new JLabel[12];//打是X任务标签的 JLabel jl2c1_1[]=new JLabel[12]; JLabel jl2c2_1[]=new JLabel[12]; /*4*/ JPanel jp4,jp4x2; JButton jb_1,jb_2; public static final int one_ge = 50;//代表一幅图的宽度 public static void main(String[] args) { // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! face3 face33=new face3(); //启动face33线程 Thread t=new Thread(face33); t.start(); } public face3() { //全部在这定义 jp0=new JPanel(); jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); /*可以伸缩*/jsp.setOneTouchExpandable(true); jta=new JTextArea("!!!以后操作细节将在这里显示!!!\n"); gun=new JScrollPane(jta); jlb1=new JLabel(new ImageIcon("F:/text/pai.png")); jp1=new JPanel(); jp2=new JPanel(); jp22=new JPanel(); jp222=new JPanel(); jlb2=new JLabel(Atime+"秒"); jlb2.setBackground(Color.RED); jlb2.setFont(new java.awt.Font("Dialog", 1, 77)); jlb2.setForeground(Color.red); x2=new JPanel(); x2.setLayout(new BorderLayout()); x2_1=new JPanel(); x2_2=new JPanel(); x2_3=new JPanel(); jcb_1=new JCheckBox("先来先服务"); jcb_2=new JCheckBox("短作业优先"); jcb_3=new JCheckBox("响应比者高优先"); //一定要把 jrb1 jrb2 放入到一个ButtonGroup ButtonGroup bg=new ButtonGroup(); bg.add(jcb_1); bg.add(jcb_2); bg.add(jcb_3); x2_2.add(jcb_1); x2_2.add(jcb_2); x2_2.add(jcb_3); x2.add(x2_1,BorderLayout.WEST); x2.add(x2_2,BorderLayout.CENTER); x2.add(x2_3,BorderLayout.EAST); jp_1=new JPanel(); jp_1.setLayout(new GridLayout(1,11)); JTextField jtf21_1[]=new JTextField[12]; JTextField jtf22_1[]=new JTextField[12]; //第一复页面板 for(int i=1;i<=11;i++) { jp2a_1[i]=new JPanel(); jl2c1_1[i]=new JLabel("到达时间(秒)"); jl2c1_1[i].setFont(new java.awt.Font("宋体", 1, 10)); jl2c1_1[i].setForeground(Color.red); jl2c2_1[i]=new JLabel("运行时间(秒)"); jl2c2_1[i].setFont(new java.awt.Font("宋体", 1, 10)); jl2c2_1[i].setForeground(Color.blue); jtf21_1[i]=new JTextField(5); jtf21_1[i].setFont(new java.awt.Font("宋体", 1, 35)); jtf21_1[i].setForeground(Color.red); jtf22_1[i]=new JTextField(5); jtf22_1[i].setFont(new java.awt.Font("宋体", 1, 35)); jtf22_1[i].setForeground(Color.blue); jp2a_1[i].setLayout(new GridLayout(5,1)); switch(i) { case 1: jl2b_1[i]=new JLabel(" 任务A"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 30)); jl2b_1[i].setForeground(Color.red); break; case 2: jl2b_1[i]=new JLabel(" 任务B"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 3: jl2b_1[i]=new JLabel(" 任务C"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 4: jl2b_1[i]=new JLabel(" 任务D"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 5: jl2b_1[i]=new JLabel(" 任务E"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 6: jl2b_1[i]=new JLabel(" 任务F"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 7: jl2b_1[i]=new JLabel(" 任务G"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 8: jl2b_1[i]=new JLabel(" 任务H"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 9: jl2b_1[i]=new JLabel(" 任务I"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 10: jl2b_1[i]=new JLabel(" 任务J"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; case 11: jl2b_1[i]=new JLabel(" 任务K"); jl2b_1[i].setFont(new java.awt.Font("宋体", 1, 15)); jl2b_1[i].setForeground(Color.red); break; } jp2a_1[i].add(jl2b_1[i]); jp2a_1[i].add(jl2c1_1[i]); jp2a_1[i].add(jtf21_1[i]); jp2a_1[i].add(jl2c2_1[i]); jp2a_1[i].add(jtf22_1[i]); jp_1.add(jp2a_1[i]); } jp4x2=new JPanel(); jb_1=new JButton(); jb_2=new JButton(); lan2=new JLabel(new ImageIcon("F:/text/lan2.png")); jp0.setLayout(new BorderLayout()); //第一栏 jp1.setLayout(new GridLayout(2,1)); jp1.add(jlb1); jp1.add(jp2); jp2.setLayout(new BorderLayout()); jp2.add(jp22,BorderLayout.CENTER); /*将等待图加到jp22*/jp22.setLayout(null); jp22.setBackground(Color.WHITE); for (int i = 0; i<11; i++) { no[i] = new JLabel(new ImageIcon("F:/text/no.png")); jp22.add(no[i]); no[i].setBounds(i*48+14*i, 0, 48, 134); lan[i] =new JLabel(new ImageIcon("F:/text/lan.png")); jp22.add(lan[i]); lan[i].setBounds((i-1)*14+i*48,0 , 14, 134); /* 控制图像的位置大小 */ } jp22.add(lan2); lan2.setBounds(860,0,14, 134); jp222.add(jlb2); jp2.add(jp222,BorderLayout.EAST); //第三栏 // jp_1.setBackground(Color.RED);//给面板设置背景颜色 //第四栏 jp4x2=new JPanel(); jp4x2.setLayout(new GridLayout(2,1)); jp4=new JPanel(); jp4.setLayout(new GridLayout(1,2)); jb_1=new JButton("确定录完"); jb_2=new JButton("开始任务"); jp4x2.add(x2); jp4x2.add(jp4); /*注册开始键监听*/ jb_2.addActionListener(this); jb_2.setActionCommand("aa"); jb_1.setBackground(Color.pink); jb_2.setBackground(Color.green); jp4.add(jb_1); jp4.add(jb_2); //按1,2,3栏的顺序添加面板进jp0 jp0.add(jp1,BorderLayout.NORTH); jp0.add(jp_1,BorderLayout.CENTER); jp0.add(jp4x2,BorderLayout.SOUTH); //把jp0和textAreaz装进拉伸版 jsp.add(jp0); jsp.add(gun); this.add(jsp); //显示 this.setSize(1270,600); this.setLocation(60,50); this.setResizable(false); this.setTitle("微型操作系统3合一"); this.setVisible(true); } public void gettime()//获取时间的方法 { Calendar c = Calendar.getInstance(); int gominute = c.get(Calendar.MINUTE); int gosecond = c.get(Calendar.SECOND); int time=gominute*60+gosecond; all1=time; } public void gettime2()//获取时间的方法 { Calendar c = Calendar.getInstance(); int gominute = c.get(Calendar.MINUTE); int gosecond = c.get(Calendar.SECOND); int time=gominute*60+gosecond; all2=time; } public void rungo() { choose=1; } @Override public void actionPerformed(ActionEvent e) //事件处理时欲要改变外界的值应该传进方法 { if (e.getActionCommand().equals("aa")) { gettime(); rungo(); System.out.println(all1); } } public void repaint()//这个方法用来专门刷新面板除了用户输入界面例外 { //以下是用来刷新面版 我只到画板的刷新方法用一句this.repaint();但这不是画板。。。没办法 jp0=new JPanel(); jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); /*可以伸缩*/jsp.setOneTouchExpandable(true); jta=new JTextArea("!!!以后操作细节将在这里显示!!!\n"); gun=new JScrollPane(jta); jlb1=new JLabel(new ImageIcon("F:/text/pai.png")); jp1=new JPanel(); jp2=new JPanel(); jp22=new JPanel(); jp222=new JPanel(); int Atime=all2-all1; if(choose==0) { Atime=0; } jlb2=new JLabel(Atime+"秒"); jlb2.setBackground(Color.RED); jlb2.setFont(new java.awt.Font("Dialog", 1, 77)); jlb2.setForeground(Color.red); x2=new JPanel(); x2.setLayout(new BorderLayout()); x2_1=new JPanel(); x2_2=new JPanel(); x2_3=new JPanel(); jcb_1=new JCheckBox("先来先服务"); jcb_2=new JCheckBox("短作业优先"); jcb_3=new JCheckBox("响应比者高优先"); //一定要把 jrb1 jrb2 放入到一个ButtonGroup ButtonGroup bg=new ButtonGroup(); bg.add(jcb_1); bg.add(jcb_2); bg.add(jcb_3); x2_2.add(jcb_1); x2_2.add(jcb_2); x2_2.add(jcb_3); x2.add(x2_1,BorderLayout.WEST); x2.add(x2_2,BorderLayout.CENTER); x2.add(x2_3,BorderLayout.EAST); jp4x2=new JPanel(); jb_1=new JButton(); jb_2=new JButton(); lan2=new JLabel(new ImageIcon("F:/text/lan2.png")); jp0.setLayout(new BorderLayout()); //第一栏 jp1.setLayout(new GridLayout(2,1)); jp1.add(jlb1); jp1.add(jp2); jp2.setLayout(new BorderLayout()); jp2.add(jp22,BorderLayout.CENTER); /*将等待图加到jp22*/jp22.setLayout(null); jp22.setBackground(Color.WHITE); for (int i = 0; i<11; i++) { no[i] = new JLabel(new ImageIcon("F:/text/no.png")); jp22.add(no[i]); no[i].setBounds(i*48+14*i, 0, 48, 134); lan[i] =new JLabel(new ImageIcon("F:/text/lan.png")); jp22.add(lan[i]); lan[i].setBounds((i-1)*14+i*48,0 , 14, 134); /* 控制图像的位置大小 */ } jp22.add(lan2); lan2.setBounds(860,0,14, 134); jp222.add(jlb2); jp2.add(jp222,BorderLayout.EAST); //第三栏 // jp_1.setBackground(Color.RED);//给面板设置背景颜色 //第四栏 jp4x2=new JPanel(); jp4x2.setLayout(new GridLayout(2,1)); jp4=new JPanel(); jp4.setLayout(new GridLayout(1,2)); jb_1=new JButton("确定录完"); jb_2=new JButton("开始任务"); jp4x2.add(x2); jp4x2.add(jp4); /*注册开始键监听*/ jb_2.addActionListener(this); jb_2.setActionCommand("aa"); jb_1.setBackground(Color.pink); jb_2.setBackground(Color.green); jp4.add(jb_1); jp4.add(jb_2); //按1,2,3栏的顺序添加面板进jp0 jp0.add(jp1,BorderLayout.NORTH); jp0.add(jp_1,BorderLayout.CENTER); jp0.add(jp4x2,BorderLayout.SOUTH); //把jp0和textAreaz装进拉伸版 jsp.add(jp0); jsp.add(gun); this.add(jsp); //显示 this.setSize(1270,600); this.setLocation(60,50); this.setResizable(false); this.setTitle("微型操作系统3合一"); this.setVisible(true); } @Override public void run() { while(true) { try { Thread.sleep(1000); } catch (Exception e) {} gettime2(); repaint(); } } } F:/text/pai.png
F:/text/lan2.png
F:/text/no.png
F:/text/lan.png
相关文章推荐
- 【Java基础 1】Java2平台的三个版本介绍
- Java三个版本介绍
- JAVA的三个版本
- Java平台的三个版本(转载)
- MSDN VS2010 Ultimate 简体中文正式版已经放出(更新全版本Emul链接)
- Java Service Wrapper各种操作系统各种版本的的下载地址
- Apache POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。目前POI已经有了Ruby版本
- Java分为三个体系JavaSE,JavaEE,JavaME 它们的区别以及java的各个版本?
- Java分为三个体系JavaSE,JavaEE,JavaME 它们的区别以及java的各个版本?
- Ubuntu 14.04 LTS 版本(仅对32位操作系统,i686)下,安装 Java SE Development Kit 8u152(JDK 1.8.0_152)
- 数组中唯一出现一次的一个,两个,三个数,其余数都是偶数次出现(java版本)
- java 取得操作系统的名称. os 的版本.
- Java语言获取jdk、jre和操作系统版本等信息
- 三个小技巧-查看工程的位置和删除工程和导入已经有的java工程到eclipse中
- Java分为三个体系JavaSE,JavaEE,JavaME 它们的区别以及java的各个版本?
- java开发第二个jni示例程序(基于linux操作系统)--native层调用java方法
- 获取操作系统信息(本机IP地址,Java版本,安装路径等)
- Java获取操作系统信息和Java版本信息
- myeclipse三个地方的java版本统一
- Java 获取操作系统名字、系统版本、cpu信息