} } else{
if(n%p==0&&n!=0){ if(pty>1){ pty--;
temp2.setElementAt(pty,1); p+=5;
temp2.setElementAt(p,6); }
Vector tempx=new Vector(); for(int i=0;i tempx.setElementAt(pp,1); RR.setElementAt(tempx,i); } } } else{}; Vector rd=new Vector(); rd=(Vector)readyData1.get(0); pty=(Integer)temp2.get(1); int py=(Integer)rd.get(1); if(pty Integer h=new Integer(r-n); String st=new String(); temp2.setElementAt(h,3); temp2.setElementAt(st,4); temp2.removeElementAt(5); temp2.removeElementAt(5); RR.add(temp2); operation(); addrunData(); } else{ n++; n++; temp2.setElementAt(n,5); runData.clear(); runData.add(temp2); temp2.setElementAt(n,5); runData.clear(); runData.add(temp2); } } } else{ n++; temp2.setElementAt(n,5); runData.clear(); runData.add(temp2); } } } }catch(InterruptedException e) { e.printStackTrace(); } } } //------------------------------------------------------------------------ public class Looking extends Thread{ //监视程序 public void run(){ try{ while(true) { findKing(); item=(String)mode.getSelectedItem(); if(kill==false) addreadyData(); 视并更新就绪队列 sleep(900); jsp0.setViewportView(runprocess); jsp1.setViewportView(ready1); jsp4.setViewportView(ready2); jsp5.setViewportView(ready3); jsp2.setViewportView(interrupted); jsp3.setViewportView(finish); if(active){ controll.setText(\暂停运行\ } else{ controll.setText(\开始运行\ } } //时刻监 }catch(InterruptedException e) { e.printStackTrace(); } } } public void actionPerformed(ActionEvent e){ //事件响应 if(e.getSource()==createprocess){ CreateProcess(); } else if(e.getSource()==exit){ closeOperation(); } else if(e.getSource()==save){ save(); } else if(e.getSource()==controll){ if(active){ active=false; controll.setText(\开始运行\ } else{ active=true; controll.setText(\暂停进程\ } } } public void closeOperation(){ if(times==0){ Object[] options = {\是\否\取消\ int response=JOptionPane.showOptionDialog(null, \您还未保存结果,是否保存后再退出系统?\\友情提示\ if(response==0) { save(); // System.exit(0); frame.dispose(); } else if(response==1) { // System.exit(0); frame.dispose(); } else if(response==2) { } } else{ // System.exit(0); frame.dispose(); } } public void save(){ String str=new String(); String f=new String(); times++; for(int i=0;i for(int j=0;j str=str+\ \alueAt(i,j).toString(); } } f=\池毓兴_3118310_Result\ try{ File file=new File(f); FileWriter result=new FileWriter(file); result.write(str); result.close(); }catch(IOException e){ JOptionPane.showMessageDialog(null, \对不起,结果保存失败!\\保存提示\ } JOptionPane.showMessageDialog(null, \恭喜您,运行结果已保存至相同路径下的txt文件中!\保存提示\TION_MESSAGE); } public void CreateProcess(){ //创建进程 PCB process; Vector String start=new String(); start=outputStart(); runT=outputruntime(); if(runT<=0){ process=new PCB(); process.inputID(id); id++; } else{ process=new PCB(runT,pri); process.inputID(id); id++; } allData.addElement(process); Integer id=new Integer(process.getID()); Integer priority=new Integer(process.getPriority()); String createTime=new String(process.getCreateTime()); Integer runTime=new Integer(process.getRunTime()); temp.addElement(id); temp.addElement(priority); temp.addElement(createTime); temp.addElement(runTime); temp.addElement(start); RR.addElement(temp); operation(); } private class MTable extends JTable{ //表格设置 /** * */ private static final long serialVersionUID = 1L; public MTable(Vector super(rowData,columnNames); } public JTableHeader getTableHeader(){ JTableHeader tableHeader=super.getTableHeader(); tableHeader.setReorderingAllowed(false); DefaultTableCellRenderer hr=(DefaultTableCellRenderer)tableHeader.getDefaultRenderer(); hr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER); return tableHeader; } public TableCellRenderer getDefaultRenderer(Class> columnClass){ DefaultTableCellRenderer cr=(DefaultTableCellRenderer)super.getDefaultRenderer(columnClass); cr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);