• 大小: 8KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: Java
  • 标签: JAVA  多线程  碰撞球  

资源简介

通过JAVA运用多线程控制球的运动,通过窗口中的滑条,对球的大小和颜色进行选择后,随机从窗口左右两方择一进入,小球在遇到障碍或边界后会折回。

资源截图

代码片段和文件信息

import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class rw34 {
//操作运用线程实现碰撞的球的类
public static void main(String[] args) {
// TODO Auto-generated method stub
new Ballframe();//实例化对象
}

}
class Ballframe extends Jframe implements ActionListenerChangeListener{
private static final long serialVersionUID=1L;
JPanel panel;//画板
JPanel preview;//预览画板
JSlider red;//红色滑块
JSlider blue;//蓝色滑块
JSlider green;//绿色滑块
JSlider JS_SIZE;//滑块的大小
int x=45y=45;//方位
int BALL_SIZE=30;//球的大小
public Ballframe() {
//构造方法进行初始化
super(“碰撞的球“);
panel=new JPanel();//创建面板
panel.setBounds(20 0 450 200);//设置面板的位置及大小
panel.setBackground(Color.WHITE);//面板背景色为白色
preview=new JPanel(); //创建预览球的面板
preview.setBounds(350220120120);
preview.setBackground(Color.WHITE);//设置状态栏
JTextField status=new JTextField(“请选择球的颜色、大小然后单击按钮“);
status.setBounds(140449220);//设置状态栏的位置以及大小
status.setEditable(false);//初始不能编辑
JLabel redLabel=new JLabel(“红“);//创建红色标签
redLabel.setBounds(202153020);//设置红色标签的位置以及大小
JLabel greenLabel=new JLabel(“绿“);//创建绿色标签
greenLabel.setBounds(202603020);//设置绿色标签的位置以及大小
JLabel blueLabel=new JLabel(“蓝“);//创建蓝色标签
blueLabel.setBounds(203053020);//设置蓝色标签的位置以及大小
JLabel sizeLabel=new JLabel(“大小“);//创建大小标签
sizeLabel.setBounds(203503020);//设置大小标签的位置以及大小
red=new JSlider(SwingConstants.HORIZONTAL0255127);//创建红色滑块
red.setBounds(50 210 250 45);//设置滑块的位置以及大小
red.putClientProperty(“JSlider.isFilled“Boolean.TRUE);//填充滑块
red.setPaintTicks(true);//绘制勾号标记
red.setMajorTickSpacing(50);//主要的勾号标记大小
red.setMinorTickSpacing(25);//次要的勾号标记大小
red.setPaintLabels(true);//显示主要刻度的数字标记
red.addChangeListener(this);//添加监听者
blue=new JSlider(SwingConstants.HORIZONTAL0255127);//创建蓝色滑块
blue.setBounds(50 300 250 45);//设置滑块的位置以及大小
blue.putClientProperty(“JSlider.isFilled“Boolean.TRUE);//填充滑块
blue.setPaintTicks(true);//绘制勾号标记
blue.setMajorTickSpacing(50);//主要的勾号标记大小
blue.setMinorTickSpacing(25);//次要的勾号标记大小
blue.setPaintLabels(true);//显示主要刻度的数字标记
blue.addChangeListener(this);//添加监听者
green=new JSlider(SwingConstants.HORIZONTAL0255127);//创建绿色滑块
green.setBounds(50 255 250 45);//设置滑块的位置以及大小
green.putClientProperty(“JSlider.isFilled“Boolean.TRUE);//填充滑块
green.setPaintTicks(true);//绘制勾号标记
green.setMajorTickSpacing(50);//主要的勾号标记大小
green.setMinorTickSpacing(25);//次要的勾号标记大小
green.setPaintLabels(true);//显示主要刻度的数字标记
green.addChangeListe

评论

共有 条评论