資源簡(jiǎn)介
通過(guò)JAVA運(yùn)用多線程控制球的運(yùn)動(dòng),通過(guò)窗口中的滑條,對(duì)球的大小和顏色進(jìn)行選擇后,隨機(jī)從窗口左右兩方擇一進(jìn)入,小球在遇到障礙或邊界后會(huì)折回。
代碼片段和文件信息
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?{
//操作運(yùn)用線程實(shí)現(xiàn)碰撞的球的類(lèi)
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
new?Ballframe();//實(shí)例化對(duì)象
}
}
class?Ballframe?extends?Jframe?implements?ActionListenerChangeListener{
private?static?final?long?serialVersionUID=1L;
JPanel?panel;//畫(huà)板
JPanel?preview;//預(yù)覽畫(huà)板
JSlider?red;//紅色滑塊
JSlider?blue;//藍(lán)色滑塊
JSlider?green;//綠色滑塊
JSlider?JS_SIZE;//滑塊的大小
int?x=45y=45;//方位
int?BALL_SIZE=30;//球的大小
public?Ballframe()?{
//構(gòu)造方法進(jìn)行初始化
super(“碰撞的球“);
panel=new?JPanel();//創(chuàng)建面板
panel.setBounds(20?0?450?200);//設(shè)置面板的位置及大小
panel.setBackground(Color.WHITE);//面板背景色為白色
preview=new?JPanel();?//創(chuàng)建預(yù)覽球的面板
preview.setBounds(350220120120);
preview.setBackground(Color.WHITE);//設(shè)置狀態(tài)欄
JTextField?status=new?JTextField(“請(qǐng)選擇球的顏色、大小然后單擊按鈕“);
status.setBounds(140449220);//設(shè)置狀態(tài)欄的位置以及大小
status.setEditable(false);//初始不能編輯
JLabel?redLabel=new?JLabel(“紅“);//創(chuàng)建紅色標(biāo)簽
redLabel.setBounds(202153020);//設(shè)置紅色標(biāo)簽的位置以及大小
JLabel?greenLabel=new?JLabel(“綠“);//創(chuàng)建綠色標(biāo)簽
greenLabel.setBounds(202603020);//設(shè)置綠色標(biāo)簽的位置以及大小
JLabel?blueLabel=new?JLabel(“藍(lán)“);//創(chuàng)建藍(lán)色標(biāo)簽
blueLabel.setBounds(203053020);//設(shè)置藍(lán)色標(biāo)簽的位置以及大小
JLabel?sizeLabel=new?JLabel(“大小“);//創(chuàng)建大小標(biāo)簽
sizeLabel.setBounds(203503020);//設(shè)置大小標(biāo)簽的位置以及大小
red=new?JSlider(SwingConstants.HORIZONTAL0255127);//創(chuàng)建紅色滑塊
red.setBounds(50?210?250?45);//設(shè)置滑塊的位置以及大小
red.putClientProperty(“JSlider.isFilled“Boolean.TRUE);//填充滑塊
red.setPaintTicks(true);//繪制勾號(hào)標(biāo)記
red.setMajorTickSpacing(50);//主要的勾號(hào)標(biāo)記大小
red.setMinorTickSpacing(25);//次要的勾號(hào)標(biāo)記大小
red.setPaintLabels(true);//顯示主要刻度的數(shù)字標(biāo)記
red.addChangeListener(this);//添加監(jiān)聽(tīng)者
blue=new?JSlider(SwingConstants.HORIZONTAL0255127);//創(chuàng)建藍(lán)色滑塊
blue.setBounds(50?300?250?45);//設(shè)置滑塊的位置以及大小
blue.putClientProperty(“JSlider.isFilled“Boolean.TRUE);//填充滑塊
blue.setPaintTicks(true);//繪制勾號(hào)標(biāo)記
blue.setMajorTickSpacing(50);//主要的勾號(hào)標(biāo)記大小
blue.setMinorTickSpacing(25);//次要的勾號(hào)標(biāo)記大小
blue.setPaintLabels(true);//顯示主要刻度的數(shù)字標(biāo)記
blue.addChangeListener(this);//添加監(jiān)聽(tīng)者
green=new?JSlider(SwingConstants.HORIZONTAL0255127);//創(chuàng)建綠色滑塊
green.setBounds(50?255?250?45);//設(shè)置滑塊的位置以及大小
green.putClientProperty(“JSlider.isFilled“Boolean.TRUE);//填充滑塊
green.setPaintTicks(true);//繪制勾號(hào)標(biāo)記
green.setMajorTickSpacing(50);//主要的勾號(hào)標(biāo)記大小
green.setMinorTickSpacing(25);//次要的勾號(hào)標(biāo)記大小
green.setPaintLabels(true);//顯示主要刻度的數(shù)字標(biāo)記
green.addChangeListe
- 上一篇:使用JAVA編制時(shí)鐘程序
- 下一篇:LocSDK_4.2.jar
評(píng)論
共有 條評(píng)論