📄 move.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Move extends Applet implements Runnable,ActionListener{
//定义两个线程来控制小球运动
Thread redBall,blueBall;
//声明一个按钮用来启动线程
Button start;
//声明一个时间变量
int second=0;
//声明两个图形类
Graphics redPen,bluePen;
public void init(){
//设定程序背景颜色
setBackground(Color.pink);
//创建按钮,并设置大小及位置
start=new Button("Start");
setLayout(null);
add(start);
start.setBounds(0,0,200,30);
//添加监视器
start.addActionListener(this);
//获得画图方法
redPen =getGraphics();
bluePen =getGraphics();
//设置画笔的颜色
redPen.setColor(Color.red);
bluePen.setColor(Color.blue);
}
public void start(){
}
public void run()
{
while(true)
{
//每执行一次,时间加一秒
second=second+1;
//当前线程为redBall时
if(Thread.currentThread()==redBall)
{
if((int)(1.0/2*second*9.8)>400) {
//如果小球到达画面底部,则秒数回零
second=0;
}
//清空画面,以便重画
redPen.clearRect(0,0,100,300);
//在指定的位置画小球
redPen.fillOval(50,(int)(1.0/2*second*9.8),15,15);
try{
//线程秀棉1500毫秒
redBall.sleep(1500);
}
catch(InterruptedException e){
System.out.println(e);
}
}
else if(Thread.currentThread()==blueBall)
{
if((int)(1.0/2*second*9.8)>400) {
//如果小球到达画面底部,则秒数回零
second=0;
}
//清空画面,以便重画
bluePen.clearRect(120,0,1000,500);
//在指定的位置画小球
bluePen.fillOval(120+3*second,(int)(1.0/2*second*9.8),15,15);
try{
//线程秀棉1500毫秒
blueBall.sleep(1500);
}
catch(InterruptedException e){
System.out.println(e);
}
}
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==start){
if (redBall ==null){
//创建线程,并启动线程
redBall =new Thread(this);
redBall.start();
}
if (blueBall ==null){
//创建线程,并启动线程
blueBall =new Thread(this);
blueBall.start();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -