📄 moveblock.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class MoveBlock extends Applet implements KeyListener, ActionListener
{
Label label=new Label("点击一个积木,然后移动它");
Button b[]=new Button[40];
int x[]=new int[40];
int y[]=new int[40];
String s[] =new String[40];
public void init()
{
setLayout(null);
add(label);
label.setBounds(0, 0, 150, 30);
int kl=70, k2=70, k3=70, k4=70;
for(int i=0;i<40;i++)
{
b[i]=new Button(String.valueOf(i));
if(i%3==0)b[i].setBackground(Color.red);
if(i%3==1)b[i].setBackground(Color.blue);
if(i%3==2)b[i].setBackground(Color.yellow);
b[i].addKeyListener(this);//按钮获得键盘事件监视器
b[i].addActionListener(this); add(b[i]);
if(i%4==0)
{
b[i].setBounds(kl, 40, 30, 30);kl=kl+31;
}
else if(i%4==1)
{
b[i].setBounds(k2, 71, 30, 30);k2=k2+31;
}
else if(i%4==2)
{
b[i].setBounds(k3, 102, 30, 30);k3=k3+31;
}
else if(i%4==3)
{
b[i].setBounds(k4, 133, 30, 30);k4=k4+31;
}
}
for(int i=0; i<40; i++)
{
x[i]=b[i].getBounds().x;y[i]=b[i].getBounds().y;//获取按钮左上角的x,y坐标
}
}
public void keyTyped(KeyEvent e)
{}
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==KeyEvent.VK_UP)
{
for(int i=0;i<=39 ;i++)
{
if(s[i].equals(String.valueOf(i)))
{
y[i] =y[i]-2;
if(y[i]<=0)y[i]=0;
b[i].setLocation(x[i], y[i]);
}
}
}
else if(e.getKeyCode()==KeyEvent.VK_DOWN)
{
for(int i=0; i<=39; i++)
{
if(s [i].equals(String.valueOf(i)))
{
y [i] =y [i] +2;
if(y[i] >=300)y[i]=300;
b[i].setLocation(x[i], y[i]);
}
}
}
else if(e.getKeyCode()==KeyEvent.VK_LEFT)
{
for(int i=0; i<=39; i++)
{
if(s[i].equals(String.valueOf(i)))
{
x[i] =x[i] -2;
if(x[i]<=0)x[i]=0;
b[i].setLocation(x[i], y[i]);
}
}
}
else if(e.getKeyCode()==KeyEvent.VK_RIGHT)
{
for(int i=0;i<=39;i++)
{
if(s[i].equals(String.valueOf(i)))
{
x[i]=x[i]+2;
if(x[i] >=300)x[i]=300;
b[i].setLocation(x[i], y[i]);
}
}
}
}
public void keyReleased(KeyEvent e)
{}
public void actionPerformed(ActionEvent e)
{
for(int i=0;i<40;i++)
{
if(e.getSource()==b[i])
{
for(int j=0;j<=39;j++)
{
s[j]=b[i].getLabel();
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -