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

📄 demoframe.java

📁 操作系统课程设计:页面置换算法!!!很好的操作系统大作业
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * DemoFrame.java * * Created on 2008年11月19日, 上午10:11 */package app;import javax.swing.event.ChangeEvent;import util.*;import java.awt.Color;import java.awt.Label;import java.awt.Label;import java.awt.Label;import java.util.ArrayList;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import util.Optimal;/** * * @author  Administrator */public class DemoFrame extends javax.swing.JFrame {        /** Creates new form DemoFrame */    public DemoFrame() {        initComponents();    }        /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the Form Editor.     */        private void initComponents() {        buttonGroup1 = new javax.swing.ButtonGroup();        jTabbedPane1 = new javax.swing.JTabbedPane();        jPanel1 = new javax.swing.JPanel();        jPanel3 = new javax.swing.JPanel();        jLabel1 = new javax.swing.JLabel();        jComboBox1 = new javax.swing.JComboBox();        jLabel2 = new javax.swing.JLabel();        jLabel3 = new javax.swing.JLabel();        jRadioButton1 = new javax.swing.JRadioButton();        jRadioButton2 = new javax.swing.JRadioButton();        jLabel4 = new javax.swing.JLabel();        jTextField1 = new javax.swing.JTextField();        jButton1 = new javax.swing.JButton();        jLabel5 = new javax.swing.JLabel();        jComboBox2 = new javax.swing.JComboBox();        jComboBox3 = new javax.swing.JComboBox();        jButton3 = new javax.swing.JButton();        jPanel4 = new javax.swing.JPanel();        jPanel5 = new javax.swing.JPanel();        label1 = new java.awt.Label();        label2 = new java.awt.Label();        label3 = new java.awt.Label();        label4 = new java.awt.Label();        jPanel6 = new javax.swing.JPanel();        label5 = new java.awt.Label();        label8 = new java.awt.Label();        label7 = new java.awt.Label();        label6 = new java.awt.Label();        jPanel2 = new javax.swing.JPanel();        red = new Label();        green = new Label();        cyan = new Label();        red_text = new JLabel("从磁盘调入内存的页面");        green_text = new JLabel("在内存中且当前时刻在被访问的页面");        cyan_text = new JLabel("在内存中且当前时刻未被访问的页面");                setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        setTitle("页面置换算法的演示");        setAlwaysOnTop(true);        setResizable(false);        getContentPane().setLayout(null);        jTabbedPane1.setBackground(new java.awt.Color(255, 255, 255));        jTabbedPane1.setTabPlacement(javax.swing.JTabbedPane.RIGHT);        jPanel1.setLayout(null);        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 153, 153), 1, true), "参数配置", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", 1, 14)));        jPanel3.setLayout(null);        jLabel1.setText("系统分配物理块数:");        jPanel3.add(jLabel1);        jLabel1.setBounds(30, 30, 110, 15);        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "3", "4", "5" }));        jComboBox1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jComboBox1ActionPerformed(evt);            }        });        jPanel3.add(jComboBox1);        jComboBox1.setBounds(140, 28, 40, 21);        jLabel2.setText("块");        jPanel3.add(jLabel2);        jLabel2.setBounds(190, 30, 30, 15);        jLabel3.setText("页面号引用串生成方式:");        jPanel3.add(jLabel3);        jLabel3.setBounds(30, 60, 140, 15);        buttonGroup1.add(jRadioButton1);        jRadioButton1.setSelected(true);        jRadioButton1.setText("人工输入");        jRadioButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                ManualProduce(evt);            }        });        jPanel3.add(jRadioButton1);        jRadioButton1.setBounds(170, 58, 80, 23);        buttonGroup1.add(jRadioButton2);        jRadioButton2.setText("随机生成");        jRadioButton2.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                randomProduce(evt);            }        });        jPanel3.add(jRadioButton2);        jRadioButton2.setBounds(250, 58, 73, 23);        jLabel4.setText("页面号引用串:");        jPanel3.add(jLabel4);        jLabel4.setBounds(30, 90, 90, 15);        jPanel3.add(jTextField1);        jTextField1.setBounds(120, 88, 290, 21);        jButton1.setText("完成");        jButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                complishButton(evt);            }        });        jButton1.setEnabled(false);        jPanel3.add(jButton1);        jButton1.setBounds(420, 190, 60, 23);        jLabel5.setText("对比演示下列两个程序:");        jPanel3.add(jLabel5);        jLabel5.setBounds(30, 120, 150, 15);        jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "最佳(Optimal)置换算法", "先进先出(FIFO)页面置换算法", "最近最久未使用(LRU)置换算法", "简单的CLOCK置换算法", "改进的CLOCK置换算法", "最少使用(LFU)置换算法" }));        jComboBox2.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                Alg1(evt);            }        });        jComboBox2.setEnabled(false);        jPanel3.add(jComboBox2);        jComboBox2.setBounds(40, 150, 200, 21);        jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "最少使用(LFU)置换算法", "改进的CLOCK置换算法", "简单的CLOCK置换算法", "最近最久未使用(LRU)置换算法", "先进先出(FIFO)页面置换算法", "最佳(Optimal)置换算法" }));        jComboBox3.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                Alg2(evt);            }        });        jComboBox3.setEnabled(false);        jPanel3.add(jComboBox3);        jComboBox3.setBounds(270, 150, 200, 21);        jButton3.setText("完成");        jButton3.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton3ActionPerformed(evt);            }        });        jPanel3.add(jButton3);        jButton3.setBounds(420, 88, 60, 23);        jPanel1.add(jPanel3);        jPanel3.setBounds(15, 15, 495, 220);        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(153, 153, 153)), "动态演示", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", 1, 14)));        jPanel4.setLayout(null);        jPanel5.setBackground(new java.awt.Color(204, 255, 204));        jPanel5.setLayout(null);        label1.setText("label1");        label1.setVisible(false);        jPanel5.add(label1);        label1.setBounds(135, 40, 320, 22);        label2.setText("label2");        label2.setVisible(false);        jPanel5.add(label2);        label2.setBounds(135, 70, 320, 22);        label3.setText("算法为:");        label3.setVisible(false);        jPanel5.add(label3);        label3.setBounds(135, 10, 320, 22);        label4.setText("当前缺页率为:");        label4.setVisible(false);        jPanel5.add(label4);        label4.setBounds(135, 100, 320, 22);        jPanel4.add(jPanel5);        jPanel5.setBounds(10, 30, 470, 140);        jPanel6.setBackground(new java.awt.Color(204, 255, 204));        jPanel6.setLayout(null);        label5.setText("label1");        label5.setVisible(false);        jPanel6.add(label5);        label5.setBounds(135, 40, 320, 22);        label8.setText("当前缺页率为:");        label8.setVisible(false);        jPanel6.add(label8);        label8.setBounds(135, 100, 320, 22);        label7.setText("算法为:");        label7.setVisible(false);        jPanel6.add(label7);        label7.setBounds(135, 10, 320, 22);        label6.setText("label2");        label6.setVisible(false);        jPanel6.add(label6);        label6.setBounds(135, 70, 320, 22);        jPanel4.add(jPanel6);        jPanel6.setBounds(10, 190, 470, 150);        red.setBounds(15, 350, 10, 10);        red.setBackground(Color.RED);        jPanel4.add(red);                red_text.setBounds(35, 345, 200, 20);        jPanel4.add(red_text);        cyan.setBounds(15, 375, 10, 10);        cyan.setBackground(Color.CYAN);        jPanel4.add(cyan);        cyan_text.setBounds(35, 370, 200, 20);        jPanel4.add(cyan_text);        green.setBounds(15, 400, 10, 10);        green.setBackground(Color.GREEN);        jPanel4.add(green);        green_text.setBounds(35, 395, 200, 20);        jPanel4.add(green_text);                jPanel1.add(jPanel4);        jPanel4.setBounds(15, 250, 495, 420);        jTabbedPane1.addTab("演示区", jPanel1);        jPanel2.setLayout(null);        jPanel2.setVisible(false);        jTabbedPane1.addTab("对比显示区", jPanel2);        jTabbedPane1.setSelectedComponent(jPanel1);        jTabbedPane1.addChangeListener(new   javax.swing.event.ChangeListener()   {                             public   void   stateChanged(javax.swing.event.ChangeEvent   evt)   {                                     jTabbedPane1StateChanged(evt);                             }                  });   

⌨️ 快捷键说明

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