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

📄 frame3.java~161~

📁 存储器模拟系统 用意存储器模拟 学生的课程设计
💻 JAVA~161~
字号:
package com.nc;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.*;
import javax.swing.JPanel;
import javax.swing.JList;
import java.awt.*;
import javax.swing.JTable;
import javax.swing.JButton;
import java.awt.event.*;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.*;
import java.lang.*;
/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Frame3 extends JFrame {
    JPanel contentPane;
    String s1 = null,s2 = null;
     String u = "存储器示意图";
     shiyi sy = new shiyi();
    int f =0,k = 0;
    String[][] p1 = { {"0", "32k", "32k", "1"}, {"1", "64k", "64k", "0"}, {"2",
                    "100k", "30k", "1"}, {"3", "20k", "120k", "0"}, {"4",
                    "60k", "60k", "0"}
    };
    String[] p2 = {"块号", "大小", "位置", "状态"};
    int a[] = {32,64,30,120,60};
    JTable jTable1 = new JTable(p1, p2);
    JButton jButton1 = new JButton();
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JTextField jTextField1 = new JTextField();
    JLabel jLabel3 = new JLabel();
    JTextField jTextField2 = new JTextField();
    JButton jButton2 = new JButton();
    JToggleButton jToggleButton1 = new JToggleButton();
    public Frame3() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
       contentPane = (JPanel) getContentPane();

        contentPane.setLayout(null);
        setSize(new Dimension(1000, 600));
        setTitle("Frame Title");
        jTable1.setBounds(new Rectangle(779, 63, 157, 153));
        jButton1.setBounds(new Rectangle(591, 146, 133, 39));
        jButton1.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
        jButton1.setText("确定");
        jButton1.addActionListener(new Frame3_jButton1_actionAdapter(this));
        jLabel1.setText("块号   大小    位置    状态");
        jLabel1.setBounds(new Rectangle(776, 34, 158, 26));
        sy.setBounds(new Rectangle(10, 10, 578, 500));
        jLabel2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 15));
        jLabel2.setText("输入作业的大小:");
        jLabel2.setBounds(new Rectangle(604, 57, 129, 28));
        jTextField1.setBounds(new Rectangle(593, 100, 126, 31));
        jLabel3.setText("输入块号");
        jLabel3.setBounds(new Rectangle(583, 197, 160, 44));

        jTextField2.setBounds(new Rectangle(593, 243, 130, 38));
        jButton2.setBounds(new Rectangle(593, 293, 134, 38));
        jButton2.setText("确定");
        jButton2.addActionListener(new Frame3_jButton2_actionAdapter(this));
        jToggleButton1.setText("jToggleButton1");
        jToggleButton1.setBounds(new Rectangle(204, 322, 103, 25));
        contentPane.add(sy);
        contentPane.add(jLabel2);
       contentPane.add(jTextField1);
       contentPane.add(jButton1);
        contentPane.add(jTable1);
        contentPane.add(jLabel1);
        contentPane.add(jLabel3);
        contentPane.add(jButton2);
        contentPane.add(jTextField2);
        contentPane.add(jToggleButton1);

    }

    public void jButton1_actionPerformed(ActionEvent e) {
        s1= jTextField1.getText();
        if(s1.equals(""))  new cat4();
       else{ jTextField1.setText("");
        f=Integer.parseInt(s1);
        sy.fenpei(f);}

    }

    public void jButton2_actionPerformed(ActionEvent e) {
    s2 = jTextField2.getText();
    if(s2.equals("")) new cat4();
    else {jTextField2.setText("");
        k = Integer.parseInt(s2);
        sy.huishou(k);

    }
    }


    class Frame3_jButton1_actionAdapter implements ActionListener {
        private Frame3 adaptee;
        Frame3_jButton1_actionAdapter(Frame3 adaptee) {
            this.adaptee = adaptee;
        }

        public void actionPerformed(ActionEvent e) {
            adaptee.jButton1_actionPerformed(e);


        }
    }

    class shiyi extends Canvas{

      String[] c ={"0","1","2","3","4"};
      int b=20;
      shiyi(){
          setSize(500,500);
     }
     public void paint(Graphics g){

         g.drawString(u,10,10) ;
            for(int i = 0;i<5;i++){
                g.setColor(Color.red);
              g.drawRect(20,b,40,a[i]);
                g.setColor(Color.blue);
                if(p1[i][3].equals("1"))g.fillRect(21,b,39,a[i]);

             g.drawString(c[i],10,b);
             b=b+a[i]+1;
         }

      }
      public void fenpei(int p){
          Graphics m = getGraphics();
          int b = 20;
          int i = 0;
          for(i = 0;i<5;i++){
           m.setColor(Color.blue);
       if(a[i]>=p&&p1[i][3].equals("0")) { m.fillRect(21,b,39,a[i]);
       p1[i][3]="1";jTable1.repaint();break;
       }
       b=b+a[i]+1;

       }
       if(i>=5)new cat5();

      }
      public void huishou(int o){
      Graphics p = getGraphics();
      int i=0,b = 20;
      for(i=0;i<5;i++){
          if (i == o && p1[i][3].equals("1")) {
              p.clearRect(21, b, 39, a[i]);
              p1[i][3] = "0";
              jTable1.repaint();
              break;
          }
          b=b+a[i]+1;
      }
      if(i>=5)new cat5();
      }

  }



}


class Frame3_jButton2_actionAdapter implements ActionListener {
    private Frame3 adaptee;
    Frame3_jButton2_actionAdapter(Frame3 adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton2_actionPerformed(e);
    }
}

⌨️ 快捷键说明

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