• 大小: 6KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: Java
  • 标签: java  电梯  5层  

资源简介

用java写的5层电梯模拟实验,包括开关门

资源截图

代码片段和文件信息

/**
 * @author 杨一峰  09030228 2011.5.17
 */
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class lift extends applet implements Runnable ActionListener {
Thread thread;
private static final int UP = 0;
private static final int DOWN = 1;
private static final int OPEN = 2;
private static final int CLOSE = 3;
private static final int WAIT = 4;

private boolean F1 = false;
private boolean F2 = false;
private boolean F3 = false;
private boolean F4 = false;
private boolean F5 = false;
private boolean target = false;
private boolean painted = false;

private int state = WAIT;
private int t currentfloor;
private int x y width height openxblock;

Image BufferImage;
Graphics BufferGraphics;
Button f1 f2 f3 f4 f5;
Label lab;

public void init() {
setSize(300 500);
setLayout(null);
lab = new Label(“0“);

f1 = new Button(“1“);
f2 = new Button(“2“);
f3 = new Button(“3“);
f4 = new Button(“4“);
f5 = new Button(“5“);

lab.setBounds(120 160 20 20);
f1.setBounds(200 160 30 30);
f2.setBounds(200 200 30 30);
f3.setBounds(200 240 30 30);
f4.setBounds(200 280 30 30);
f5.setBounds(200 320 30 30);

BufferImage = createImage(getSize().widthgetSize().height);
BufferGraphics = BufferImage.getGraphics();

currentfloor = 0;
openx = 0;
t = 0;
x = 20;
y = 10;
width = 80;
height = 400;
block=20;

f1.addActionListener(this);
f2.addActionListener(this);
f3.addActionListener(this);
f4.addActionListener(this);
f5.addActionListener(this);

add(lab);
add(f1);
add(f2);
add(f3);
add(f4);
add(f5);
}

public void paint(Graphics g) {
BufferGraphics.setColor(Color.white);
BufferGraphics.fillRect(0 0 getSize().widthgetSize().height);
BufferGraphics.setColor(Color.black);
BufferGraphics.fillRect(x y + 9 width + 1 height + 3);
BufferGraphics.setColor(Color.white);
BufferGraphics.drawRect(x + 1+block y + height / 5 * 4 - t + 10+block (width - 2) / 2 - openx-block
height / 5-block);
BufferGraphics.fillRect(x + 1 + (width - 2) / 2 - openx
y + height / 5 * 4 - t + 10+block openx * 2 height / 5 + 1-block);
BufferGraphics.drawRect(x + 1 + (width - 2) / 2 + openx
y + height / 5 * 4 - t + 10+block (width - 2) / 2 - openx-block
height / 5-block);


if(state==UP)
BufferGraphics.setColor(Color.red);
else
BufferGraphics.setColor(Color.black);
BufferGraphics.drawString(“△“120 200);
if(state==DOWN)
BufferGraphics.setColor(Color.red);
else
BufferGraphics.setColor(Color.black);
BufferGraphics.drawString(“▽“120 220);
lab.setText(String.valueOf(currentfloor));
painted = true;
g.drawImage(BufferImage00this);
}
public void update(Graphics g){
paint(g);
}
public void control() {
if (state == UP) {
if (t == y + height / 5 * 4)
t = y + height / 5 * 4;

评论

共有 条评论