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

📄 moveblock.java

📁 java练习程序
💻 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 + -