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

📄 demoframe.java

📁 操作系统课程设计:页面置换算法!!!很好的操作系统大作业
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            getContentPane().add(jTabbedPane1);        jTabbedPane1.setBounds(0, 0, 600, 690);        jTabbedPane1.getAccessibleContext().setAccessibleName("演示区");        pack();    }// </editor-fold>//GEN-END:initComponents    private void jTabbedPane1StateChanged(ChangeEvent evt) {        if(alg1 != null && alg2 != null)            if(!alg1.isAlive() && !alg2.isAlive())            {                lineChart = new LineChart(eff1,eff2,AlgName1,AlgName2);                jChart = lineChart.getJPanel();                jChart.setBounds(10, 20, 500, 600);                jPanel2.add(jChart);                        }    }        private void randomProduce(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_randomProduce        if(jRadioButton2.isSelected())        {            seq=RandomSeq.getRandomSeq();            char[] show = new char[40];            int j=0;            for (int i = 0; i < seq.length; i++) {                show[j++] = (char)(seq[i]+48);                show[j++] = ' ';            }            jTextField1.setText(new String().valueOf(show));            jTextField1.setEditable(false);            jButton3.setEnabled(false);            jComboBox2.setEnabled(true);            jComboBox3.setEnabled(true);            jButton1.setEnabled(true);        }    }    private void ManualProduce(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ManualProduce        if(jRadioButton1.isSelected())        {            jTextField1.setText(new String(""));            jTextField1.setEditable(true);            jButton3.setEnabled(true);        }    }//GEN-LAST:event_ManualProduce    private void complishButton(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_complishButton        block1 = new Label[blockNum];        for (int i = 0; i < blockNum; i++) {            block1[i] = new Label();            block1[i].setAlignment(java.awt.Label.CENTER);            block1[i].setBounds(15, i*this.height+15+i, 100, this.height);            block1[i].setBackground(Color.CYAN);            jPanel5.add(block1[i]);        }                        eff1 = new double[seq.length];        switch(choice1)        {            case 0:                alg1 = new Optimal(seq.clone(),eff1,block1,label1,label2,label4);                AlgName1 = "最佳(Optimal)置换算法";                break;            case 1:                alg1 = new FIFO(seq.clone(),eff1,block1,label1,label2,label4);                AlgName1 = "先进先出(FIFO)页面置换算法";                break;            case 2:                alg1 = new LRU(seq.clone(),eff1,block1,label1,label2,label4);                AlgName1 = "最近最久未使用(LRU)置换算法";                break;            case 3:                alg1 = new Clock(seq.clone(),eff1,block1,label1,label2,label4);                AlgName1 = "简单的CLOCK置换算法";                break;              case 4:                alg1 = new BetterClock(seq.clone(),eff1,block1,label1,label2,label4);                AlgName1 = "改进的CLOCK置换算法";                break;            case 5:                alg1 = new LFU(seq.clone(),eff1,block1,label1,label2,label4);                AlgName1 = "最少使用(LFU)置换算法";                break;                             }                     //////////////////////////////        //////////////////////////////        block2 = null;        block2 = new Label[blockNum];        for (int i = 0; i < blockNum; i++) {            block2[i] = new Label();            block2[i].setAlignment(java.awt.Label.CENTER);            block2[i].setBounds(15, i*this.height+15+i, 100, this.height);            block2[i].setBackground(Color.CYAN);            jPanel6.add(block2[i]);        }                  eff2 = new double[seq.length];        switch(choice2)        {            case 5:                alg2 = new Optimal(seq.clone(),eff2,block2,label5,label6,label8);                AlgName2 = "最佳(Optimal)置换算法";                break;            case 4:                alg2 = new FIFO(seq.clone(),eff2,block2,label5,label6,label8);                AlgName2 = "先进先出(FIFO)页面置换算法";                break;            case 3:                alg2 = new LRU(seq.clone(),eff2,block2,label5,label6,label8);                AlgName2 = "最近最久未使用(LRU)置换算法";                break;            case 2:                alg2 = new Clock(seq.clone(),eff2,block2,label5,label6,label8);                AlgName2 = "简单的CLOCK置换算法";                break;              case 1:                alg2 = new BetterClock(seq.clone(),eff2,block2,label5,label6,label8);                AlgName2 = "改进的CLOCK置换算法";                break;            case 0:                alg2 = new LFU(seq.clone(),eff2,block2,label5,label6,label8);                AlgName2 = "最少使用(LFU)置换算法";                break;                             }                label3.setVisible(true);              label3.setText("该算法为:"+AlgName1);        label7.setVisible(true);              label7.setText("该算法为:"+AlgName2); ////        for (int i = 0; i < block1.length; i++) {//            System.out.println(block1[i].g);;//        }//        System.out.println("~~~~~~");//        for (int i = 0; i < block1.length; i++) {//            System.out.println(block2[i]);;//        }//        System.out.println("@@@@@@@@@@");        alg1.start();                alg2.start();    }//GEN-LAST:event_complishButton    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed                   }//GEN-LAST:event_jButton2ActionPerformed    private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed        this.blockNum=Integer.parseInt((String)jComboBox1.getSelectedItem());        switch(this.blockNum)        {            case 3:                this.height = 35;                break;            case 4:                this.height = 27;                break;            case 5:                this.height = 21;                break;        }    }//GEN-LAST:event_jComboBox1ActionPerformed    private void Alg1(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Alg1         choice1 = jComboBox2.getSelectedIndex();      }//GEN-LAST:event_Alg1    private void Alg2(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Alg2        choice2 = jComboBox3.getSelectedIndex();       }//GEN-LAST:event_Alg2    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed        if(jRadioButton1.isSelected())        {            String text = jTextField1.getText();           text=text.replace(' ', ',');           boolean have=false;            for (int i = 0; i < text.length(); i++) {                if(have && text.charAt(i)==',')                {                    JOptionPane.showMessageDialog(this,                             "您输入了非法字符","ERROR",JOptionPane.WARNING_MESSAGE);                    return;                                    }                if(text.charAt(i)==',')                    have=true;                else                    have=false;                if(!(text.charAt(i)==',' || (text.charAt(i) <= '9' || text.charAt(i) >'0')) )                {                    System.out.println("error at"+text.charAt(i));                    JOptionPane.showMessageDialog(this,                             "您输入了非法字符","ERROR",JOptionPane.WARNING_MESSAGE);                    return;                }              }           Object[] num=text.split(",");           seq = new int[num.length];            for (int i = 0; i < num.length; i++) {                System.out.println(num[i]);                seq[i] = Integer.parseInt(((String)(num[i])).trim());            }           jComboBox2.setEnabled(true);           jComboBox3.setEnabled(true);           jButton1.setEnabled(true);        }            }//GEN-LAST:event_jButton3ActionPerformed        public int getBolckNum()    {        return blockNum;    }        public  int[] getSeq()    {        return seq;    }        // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.ButtonGroup buttonGroup1;    private javax.swing.JButton jButton1;    private javax.swing.JButton jButton3;    private javax.swing.JComboBox jComboBox1;    private javax.swing.JComboBox jComboBox2;    private javax.swing.JComboBox jComboBox3;    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.JPanel jPanel1;    private javax.swing.JPanel jPanel2;    private javax.swing.JPanel jPanel3;    private javax.swing.JPanel jPanel4;    private javax.swing.JPanel jPanel5;    private javax.swing.JPanel jPanel6;    private javax.swing.JRadioButton jRadioButton1;    private javax.swing.JRadioButton jRadioButton2;    private javax.swing.JTabbedPane jTabbedPane1;    private javax.swing.JTextField jTextField1;    private java.awt.Label label1;    private java.awt.Label label2;    private java.awt.Label label3;    private java.awt.Label label4;    private java.awt.Label label5;    private java.awt.Label label6;    private java.awt.Label label7;    private java.awt.Label label8;    // End of variables declaration//GEN-END:variables    private int[] seq = null;    private int blockNum = 3;    private Label[] block1 = null;    private Label[] block2 = null;    private int height = 35;    private PageReplace alg1 = null;    private PageReplace alg2 = null;    private int choice1  = 0;    private int choice2 = 0;    private String AlgName1 = null;    private String AlgName2 = null;    private JPanel jChart = null;    private LineChart lineChart = null;    private double[] eff1 = null;    private double[] eff2 = null;    private Label red = null;    private Label cyan = null;    private Label green = null;    private JLabel red_text = null;    private JLabel green_text = null;    private JLabel cyan_text = null;}

⌨️ 快捷键说明

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