⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fifo_sim.java

📁 很漂亮的一款列表式显示数据的JAVA源码实例
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	
	    private void jCheckBox_AutoresizeStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jCheckBox_AutoresizeStateChanged
	// TODO add your handling code here:
	        if(ftable.GetObj())
	        {
	            if(jCheckBox_Autoresize.isSelected())
	            {
	                jTable_PageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
	            }
	            else
	            {
	                jTable_PageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
	            }
	        }
	    }//GEN-LAST:event_jCheckBox_AutoresizeStateChanged
	
	    private void jButton_ResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_ResetActionPerformed
	// TODO add your handling code here:
	        
	        erf=true;
	        col=0;
	        row=0;
	        ftable.col=0;
	        ftable.row=0;    
	        phi=0;
	        pfi=0;
	        jComboBox_Algo.setSelectedIndex(0);
	        jSpinner_PageFrame.setValue(new java.lang.Integer(0));
	        jSpinner_RefField.setValue(new java.lang.Integer(0));
	        jTextField_refField.setText(""+refList.size());
	        jTextField_PHits.setText(""+phi);
	        jTextField_PFaults.setText(""+pfi);   
	        if(refList.size()>0)
	        {
	            refList.removeAllElements();
	            jTextField_refField.setText(""+refList.size());
	            jList_RefField.setListData(refList);
	        }     
	        ftable.resetModel();
	        jTable_PageTable.setModel(ftable.dataModel); 
	    }//GEN-LAST:event_jButton_ResetActionPerformed
	
	    private void jButton_SetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_SetActionPerformed
	// TODO add your handling code here:
	        msg="";
	        col=1;
	        ftable.col=1;
	        tmpint1 = (java.lang.Integer)jSpinner_PageFrame.getValue();        
	        if(tmpint1.intValue()<50&&tmpint1.intValue()>0)
	        {
	            if(erf)
	            {
	                erf=false;
	            }
	            row=tmpint1.intValue();
	            row++;
	            ftable.row=row-1;
	            ftable.resetObj();
	            ftable.resetModel();
	            jTable_PageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
	            jTable_PageTable.setModel(ftable.dataModel);
	            //jSpinner_PageFrame.setEnabled(false);
	            fset=2;
	        }
	        else  {
	            fset=3;
	            msg+="Page Frames must be between 0 to 50.";
	            javax.swing.JOptionPane.showMessageDialog(this,msg, "Warning",javax.swing.JOptionPane.WARNING_MESSAGE  );
	        }
	    }//GEN-LAST:event_jButton_SetActionPerformed
	
	    private void jButton_DeleteAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_DeleteAllActionPerformed
	// TODO add your handling code here:
	        if(refList.size()>0)
	        {
	            refList.removeAllElements();
	            jTextField_refField.setText(""+refList.size());
	            jList_RefField.setListData(refList);
	        }     
	        jTextField_refField.setText(""+refList.size());
	    }//GEN-LAST:event_jButton_DeleteAllActionPerformed
	
	    private void jButton_SimulateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_SimulateActionPerformed
	// TODO add your handling code here:
	        msg="";  
	        erf2=true;
	        sAlgo=jComboBox_Algo.getSelectedItem().toString();
	        if(refList.size()>0&&(row-1)<50&&(row-1)>0&&(!sAlgo.equals("Select")))
	        {
	            jSpinner_PageFrame.setValue(new java.lang.Integer(row-1));
	            if(jCheckBox_Autoresize.isSelected())
	            {
	                jTable_PageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
	            }
	            else
	            {
	                jTable_PageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
	            }                           
	            GetData();   
	            erf2=false;
	        }    
	        if(sAlgo.equals("Select"))
	        {
	            msg+="Please select algorithm.\n";
	        }
	        if(erf)
	        {
	            msg+="Please set page frames.\n";
	        }
	        else
	        {
	            jSpinner_PageFrame.setValue(new java.lang.Integer(row-1));
	        }
	        if(refList.size()<1)
	        {
	            msg+="Reference field is empty.\nPlease fill reference field.";
	        }
	        if(erf2)
	        {
	            javax.swing.JOptionPane.showMessageDialog(this,msg, "Warning",javax.swing.JOptionPane.WARNING_MESSAGE  ); 
	        }
	    }//GEN-LAST:event_jButton_SimulateActionPerformed
	
	    private void jButton_AboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_AboutActionPerformed
	// TODO add your handling code here:
	        javax.swing.JOptionPane.showMessageDialog(this,"Developer : Fubin\n" +"    Subject : Show Table Model\n" +"   Contact : yonghe169@163.com www.cujava.com","About Developer",javax.swing.JOptionPane.INFORMATION_MESSAGE); 
	    }//GEN-LAST:event_jButton_AboutActionPerformed
	
	    private void jButton_AddEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_AddEditActionPerformed
	// TODO add your handling code here:           
	        tmpint = (java.lang.Integer)jSpinner_RefField.getValue();        
	        if(tmpint.intValue()<0||tmpint.intValue()>99)
	        {         
	            msg="Reference field must be between 0 to 100.\nPlease re-enter reference field.";
	            javax.swing.JOptionPane.showMessageDialog(this,msg, "Warning",javax.swing.JOptionPane.WARNING_MESSAGE  ); 
	        }
	        else
	        {
	            refList.add(jSpinner_RefField.getValue());
	            jTextField_refField.setText(""+refList.size());
	            jList_RefField.setListData(refList);        
	        }
	    }//GEN-LAST:event_jButton_AddEditActionPerformed
	
	    private void jButton_ExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_ExitActionPerformed
	// TODO add your handling code here:
	        javax.swing.JOptionPane.showMessageDialog(this,"Developer : Fubin\n" +"    Subject : Show Table Model\n" +"   Contact : yonghe169@163.com www.cujava.com","About Developer",javax.swing.JOptionPane.INFORMATION_MESSAGE); 
	        System.exit(0);
	    }//GEN-LAST:event_jButton_ExitActionPerformed
	
	    private void jButton_DeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_DeleteActionPerformed
	// TODO add your handling code here:
	       if(!jList_RefField.isSelectionEmpty())
	        {
	            refId=jList_RefField.getSelectedIndex();
	            refList.remove(refId);
	            jTextField_refField.setText(""+refList.size());
	            jList_RefField.setListData(refList);            
	        }
	       jTextField_refField.setText(""+refList.size());
	    }//GEN-LAST:event_jButton_DeleteActionPerformed
	 public void GetData()
	    {              
	        flg=false;
	        pfi=1;
	        phi=0;
	        ftable.row=row;
	        ftable.col=refList.size();
	        col=refList.size();
	        Pages = new Object[col][row];
	        ftable.data = new Object[row][col];
	        for(i=0;i<col;i++)
	        {
	            for(j=0;j<row-1;j++)
	            {
	                Pages[i][j]="-";
	            }                
	        }  
	        for(i=0;i<col;i++)
	        {
	            Pages[i][row-1]="PF";
	        }
	        Pages[0][0]=refList.get(0);
	        if(sAlgo.equals("FIFO"))
	        {
	            for(i=1;i<col;i++)
	            {               
	                flg=false;
	                for(k=0;k<i&&k<row-1&&!flg;k++)
	                {
	                    if(Pages[i-1][k].toString().equals(refList.get(i).toString()))
	                    {
	                        flg=true; 
	                        Pages[i][row-1]="PH";                   
	                    }                 
	                }
	                if(!flg)
	                {                        
	                    for(j=1;j<=i&&j<row-1;j++)
	                    {
	                        Pages[i][j]=Pages[i-1][j-1];
	                    }
	                    Pages[i][0]=refList.get(i); 
	                    pfi++;
	                } 
	                else
	                { 
	                    for(k=0;k<i&&k<row-1;k++)
	                    {
	                        Pages[i][k]=Pages[i-1][k];
	                    }
	                    phi++;
	                }            
	            }
	        }
	        else if(sAlgo.equals("LRU"))
	        {        
	            for(i=1;i<col;i++)
	            {
	                flg=false;
	                for(k=0;k<i&&k<row-1&&!flg;k++)
	                {
	                    if(Pages[i-1][k].toString().equals(refList.get(i).toString()))
	                    {
	                        flg=true; 
	                        tmp=k;
	                        Pages[i][row-1]="PH";                   
	                    }                 
	                }                            
	                if(!flg)
	                {                        
	                    for(j=1;j<=i&&j<row-1;j++)
	                    {
	                        Pages[i][j]=Pages[i-1][j-1];
	                    }
	                    Pages[i][0]=refList.get(i); 
	                    pfi++;
	                } 
	                else
	                { 
	                    Pages[i][0]=Pages[i-1][tmp];
	                    for(k=1;k<=tmp&&k<row-1;k++)
	                    {
	                        Pages[i][k]=Pages[i-1][k-1];
	                    }
	                    for(k=tmp+1;k<i&&k<row-1;k++)
	                    {
	                        Pages[i][k]=Pages[i-1][k];
	                    }
	                    phi++;
	                }          
	            }
	        }
	        for(i=0;i<col;i++)
	        {
	            for(j=0;j<row;j++)
	            {
	                ftable.data[j][i] = Pages[i][j].toString();                
	            }
	        }        
	        jTextField_PHits.setText(""+phi);
	        jTextField_PFaults.setText(""+pfi);        
	        ftable.resetModel();
	        jTable_PageTable.setModel(ftable.dataModel);       
	    }
	    private void jButton_ReverseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_ReverseActionPerformed
	// TODO add your handling code here:
	        if(refList.size()>0)
	        {
	            tList =(java.util.Vector) refList.clone();
	            refList.removeAllElements();
	            for(i=tList.size()-1;i>=0;i--)
	            {
	                refList.add(tList.get(i));                
	            }
	            tList=null;
	            jList_RefField.setListData(refList);
	        }      
	    }//GEN-LAST:event_jButton_ReverseActionPerformed
	    
	    /**
	     * @param args the command line arguments
	     */
	    public static void main(String args[]) {
	        try { 
	            javax.swing.UIManager.put("AuditoryCues.playList",UIManager.get("AuditoryCues.allAuditoryCues"));
	            javax.swing.JFrame.setDefaultLookAndFeelDecorated(true);
	            javax.swing.JDialog.setDefaultLookAndFeelDecorated(true);	            
	            javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");				
	        } catch (Exception ex) {
	            System.out.println("Failed loading L&F: ");
	            System.out.println(ex);
	        }        
	        java.awt.EventQueue.invokeLater(new Runnable() {
	            public void run() {
	                new FIFO_Sim().setVisible(true);
	            }
	        });
	    }
	    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton_About;
    private javax.swing.JButton jButton_AddEdit;
    private javax.swing.JButton jButton_Delete;
    private javax.swing.JButton jButton_DeleteAll;
    private javax.swing.JButton jButton_Exit;
    private javax.swing.JButton jButton_Reset;
    private javax.swing.JButton jButton_Reverse;
    private javax.swing.JButton jButton_Set;
    private javax.swing.JButton jButton_Simulate;
    private javax.swing.JCheckBox jCheckBox_Autoresize;
    private javax.swing.JComboBox jComboBox_Algo;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JList jList_RefField;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel_PageTable;
    private javax.swing.JScrollPane jScrollPane_PageTable;
    private javax.swing.JScrollPane jScrollPane_RefField;
    private javax.swing.JSpinner jSpinner_PageFrame;
    private javax.swing.JSpinner jSpinner_RefField;
    private javax.swing.JTable jTable_PageTable;
    private javax.swing.JTextField jTextField_PFaults;
    private javax.swing.JTextField jTextField_PHits;
    private javax.swing.JTextField jTextField_refField;
    // End of variables declaration//GEN-END:variables
	    
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -