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

📄 frame8.java

📁 存储器模拟系统 用意存储器模拟 学生的课程设计
💻 JAVA
字号:
package com.nc;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTable;import java.awt.*;import javax.swing.JLabel;import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2007</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class Frame8 extends JFrame {  JPanel contentPane;  String[][] c1 = { {"1", "130k", "15k", "0"}, {"2", "20k", "30k", "0"}, {"3",                   "50k", "60k", "0"}, {"4", "220k", "90k", "0"}   };   String[][] c2 = { {"1", "110k", "20k", "1"}, {"2", "145k", "35k", "1"},                   {"3", "180k", "40k", "1"}, {"4", "310k", "70k", "1"}   };   String[] c3 = {"序号", "首址", "大小", "状态"} ;   String[] c4 = new String[4];   int[] a = {30, 60, 20, 15, 35, 40, 90, 70};  String[] u = {"20k", "50k", "110k", "130k", "145k", "180k", "220k", "310k"};  String j = "存储示意图"; String q1 = null,e1 = null; int o1 = 0 ,h1 =  4,h2 = 4,h3 = 0;   DefaultTableModel jt1 = new DefaultTableModel(c1,c3);     DefaultTableModel jt2 = new DefaultTableModel(c2,c3);     huatu1 ht = new  huatu1();  JTable jTable1 = new JTable(jt1);  JTable jTable2 = new JTable(jt2);  JLabel jLabel1 = new JLabel();  JLabel jLabel2 = new JLabel();  JLabel jLabel3 = new JLabel();  JLabel jLabel4 = new JLabel();  JLabel jLabel5 = new JLabel();  JLabel jLabel6 = new JLabel();  JTextField jTextField1 = new JTextField();  JTextField jTextField2 = new JTextField();  JButton jButton1 = new JButton();  JButton jButton2 = new JButton();  //Construct the frame  public Frame8() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  //Component initialization  private void jbInit() throws Exception  {    contentPane = (JPanel) this.getContentPane();    contentPane.setLayout(null);    this.setSize(new Dimension(1000, 700));    this.setTitle("最佳适用算法");    jTable1.setBounds(new Rectangle(595, 136, 162, 191));    jLabel1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));    jLabel2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));    jTable2.setBounds(new Rectangle(782, 136, 164, 191));    jLabel1.setText("块号   首址  大小   状态");    jLabel1.setBounds(new Rectangle(595, 90, 166, 38));    jLabel2.setText("     已分配表");    jLabel2.setBounds(new Rectangle(622, 44, 166, 43));    jLabel3.setText("块号   首址  大小   状态");    jLabel3.setBounds(new Rectangle(782, 99, 165, 40));    jLabel3.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));    jLabel4.setText("    未分配表");    jLabel4.setBounds(new Rectangle(782, 51, 165, 36));    jLabel4.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));    jLabel5.setText("输入作业大小");    jLabel5.setBounds(new Rectangle(625, 339, 162, 36));    jLabel5.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));    jLabel6.setText("输入回收序号");    jLabel6.setBounds(new Rectangle(814, 340, 167, 37));    jLabel6.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));    jTextField1.setBounds(new Rectangle(625, 388, 157, 31));    jTextField2.setBounds(new Rectangle(814, 387, 158, 32));    jButton1.setBounds(new Rectangle(625, 435, 158, 32));    jButton1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));    jButton1.setText("确定");    jButton1.addActionListener(new Frame8_jButton1_actionAdapter(this));    jButton2.addActionListener(new Frame8_jButton2_actionAdapter(this));    jButton2.setBounds(new Rectangle(814, 436, 161, 31));    jButton2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));    jButton2.setText("确定");    contentPane.add(jLabel1, null);    contentPane.add(jLabel2, null);    contentPane.add(jLabel4, null);    contentPane.add(jLabel3, null);    contentPane.add(jLabel5, null);    contentPane.add(jLabel6, null);    contentPane.add(jTextField1, null);    contentPane.add(jTextField2, null);    contentPane.add(jButton1, null);    contentPane.add(jButton2, null);    contentPane.add(jTable1, null);    contentPane.add(jTable2,null);     contentPane.add(ht, null);  }  //Overridden so we can exit when window is closed  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      System.exit(0);    }  }  class  huatu1   extends    Canvas{   int b =20,l3 = 0;    huatu1(){     setSize(500,500);     }     public void paint(Graphics g){       g.drawString(j,10,10) ;            for(int i = 0;i<8;i++){                g.setColor(Color.red);              g.drawRect(20,b-1,40,a[i]+1);                g.setColor(Color.blue);                for(int j =0;j<4;j++)              if(zh(c2[j][2])==a[i])                  g.fillRect(21,b,39,a[i]);                  g.drawString(u[i],61,b);             b=b+a[i];         }     }     public int zh(String b2){       int g2 = 0,g3 = 0;       g2 = b2.length();       g3 = Integer.parseInt(b2.substring(0,g2-1));       return g3;   }   public String zh1(int v){       String m1 = null,m2 = null;       m1 = String.valueOf(v);       m2 = m1.concat("k");       return m2;   }public  void  fenpei(int  h){     int t = 0, t1 = 0, t2 = 0, t3 = 0, x1 = 0, t4 = 0,x2 = 0,x3 = 0;   String s = null, s1 = null, s3 = null,s4 = null;   for (int i = 0; i < h1; i++) {       t = zh((String) jTable1.getValueAt(i, 2));       if (t > h) {           System.out.println(i);           s4 = (String) jTable1.getValueAt(i, 1);           t4 = zh((String) jTable1.getValueAt(i, 1));         System.out.println(t4);         t3 = zh((String) jTable1.getValueAt(i, 1)) + h;         s = zh1(t3);         for(int z1 = i;z1<h1;z1++)           {               jTable1.setValueAt(String.valueOf(Integer.parseInt((String) jTable1.getValueAt(z1, 0)) - 1), z1 ,0);           }           jt1.removeRow(i);           h1--;           t2 = t - h;           c4[2] = zh1(t2);           c4[1] = zh1(t3);           c4[3]= "0";           int m = 0;          for ( m = 0; m < h1; m++) {           if (zh(c4[2])<zh((String) jTable1.getValueAt(m,2))) {                 c4[0] = (String) jTable1.getValueAt(m, 0);                  for (int z1 = m; z1 < h1; z1++)                     jTable1.setValueAt(String.valueOf(Integer.parseInt((String)jTable1.getValueAt(z1, 0)) + 1), z1, 0);                 jt1.insertRow(Integer.parseInt(c4[0]) - 1, c4);                 jTable1.repaint();                 h1++;                 break;             }         }         if(m>=h1){c4[0] = String.valueOf(h1);              jt1.addRow(c4);              h1++;              jTable1.repaint();          }           System.out.println((String) jTable1.getValueAt(i, 1));          c4[1] = s4;           for (int z = 0; z < h2; z++) {             if (zh(c4[1])<zh((String) jTable2.getValueAt(z,1))) {                   c4[0] = (String) jTable2.getValueAt(z, 0);                   c4[2] = zh1(h);                   c4[3] = "1";                   for (int z1 = z; z1 < h2; z1++)                       jTable2.setValueAt(String.valueOf(Integer.parseInt((String)jTable2.getValueAt(z1, 0)) + 1), z1, 0);                   jt2.insertRow(Integer.parseInt(c4[0]) - 1, c4);                   jTable2.repaint();                   h2++;                   break;               }           }           Graphics p = getGraphics();           p.setColor(Color.red);           p.drawRect(20, t4 - 1, 40, h + 1);           p.setColor(Color.blue);           p.fillRect(21, t4, 39, h);           p.drawString(s, 61, t3);           break;       }       else if (t == h) {           c4[1] = (String) jTable1.getValueAt(i, 1);           x2 = zh(c4[1]);           c4[2] = zh1(h);           c4[3] = "1";           for (int z = 0; z < h2; z++) {               if (zh(c4[1]) < zh((String) jTable2.getValueAt(z, 1))) {                   c4[0] = (String) jTable2.getValueAt(z, 0);                   for (int z1 = z; z1 < h2; z1++)                       jTable2.setValueAt(String.valueOf(Integer.parseInt((String) jTable2.getValueAt(z1, 0)) + 1), z1, 0);                   jt2.insertRow(Integer.parseInt(c4[0]) - 1, c4);                   jTable2.repaint();                   h2++;                   break;               }           }           for(int z1 = i;z1<h1;z1++)            {                jTable1.setValueAt(String.valueOf(Integer.parseInt((String) jTable1.getValueAt(z1, 0)) - 1), z1 ,0);            }           jt1.removeRow(i);           h1--;           jTable1.repaint();           Graphics p = getGraphics();         p.setColor(Color.red);         p.drawRect(20, x2 - 1, 40, h + 1);         p.setColor(Color.blue);         p.fillRect(21, x2, 39, h);           break;       }   }}      public void huishou(int e2){          String e3 = null,e4 = null,e5 = null;          int p3 = h1+2,p4 = h1+2,p5 = 0;        e4 = (String)jTable2.getValueAt(e2-1,1);        e5 = (String)jTable2.getValueAt(e2 - 1,2);       c4[1] = (String)jTable2.getValueAt(e2-1,1);       c4[2] = (String)jTable2.getValueAt(e2-1,2);       c4[3]= "1";          for(int i = 0;i<h1;i++){              if(zh(e4)==(zh((String)jTable1.getValueAt(i,1))+zh((String)jTable1.getValueAt(i,2)))){              c4[1] = (String)jTable1.getValueAt(i,1);              c4[2] = zh1(zh(c4[2]) +zh((String) jTable1.getValueAt(i, 2)));              for(int z1 = i;z1<h1;z1++)                   {                      jTable1.setValueAt(String.valueOf(Integer.parseInt((String) jTable1.getValueAt(z1, 0)) - 1), z1 ,0);                   }                 jt1.removeRow(i);                 h1--;                 break;            }         }         for(int i=0;i<h1;i++){             if(zh(e4)==(zh((String)jTable1.getValueAt(i,1))-zh((String)jTable1.getValueAt(i,2)))){             c4[2] = zh1(zh(c4[2]) +zh((String) jTable1.getValueAt(i, 2)));             for(int z1 = i;z1<h1;z1++)        { jTable1.setValueAt(String.valueOf(Integer.parseInt((String) jTable1.getValueAt(z1, 0)) - 1), z1 ,0);                   }              jt1.removeRow(i);              h1--;              break;            }         }         for (int z = 0; z < h1; z++) {        if (zh(c4[2])<zh((String) jTable1.getValueAt(z,2))) {              c4[0] = (String) jTable1.getValueAt(z, 0);               for (int z1 = z; z1 < h1; z1++)                  jTable1.setValueAt(String.valueOf(Integer.parseInt((String)jTable1.getValueAt(z1, 0)) + 1), z1, 0);              jt1.insertRow(Integer.parseInt(c4[0]) - 1, c4);              jTable1.repaint();              h1++;              break;          }          else{c4[0] = String.valueOf(h1);              jt1.addRow(c4);              h1++;              jTable1.repaint();              break;          }      }      for(int z1 = e2- 1;z1<h2;z1++)       jTable2.setValueAt(String.valueOf(Integer.parseInt((String)jTable2.getValueAt(z1,0))-1),z1,0);    jt2.removeRow(e2-1);    h2--;    jTable2.repaint();    Graphics o = getGraphics();    o.clearRect(21,zh(e4)-2,39,zh(e5)+2);    o.clearRect(61,zh(e4)-8,25,16);      }  }  void jButton1_actionPerformed(ActionEvent e) {    q1 = jTextField1.getText();                if(q1.equals(""))                 new cat4();                else {                  jTextField1.setText("");                    o1 = Integer.parseInt(q1);                     ht.fenpei(o1);  }}    void jButton2_actionPerformed(ActionEvent e) {        e1 = jTextField2.getText();        if(e1.equals("")) new cat4();        else {            jTextField2.setText("");            h3 = Integer.parseInt(e1);            ht.huishou(h3);        }    }class Frame8_jButton1_actionAdapter implements java.awt.event.ActionListener {  Frame8 adaptee;  Frame8_jButton1_actionAdapter(Frame8 adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton1_actionPerformed(e);  }}class Frame8_jButton2_actionAdapter implements java.awt.event.ActionListener {  Frame8 adaptee;  Frame8_jButton2_actionAdapter(Frame8 adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton2_actionPerformed(e);  }}    }

⌨️ 快捷键说明

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