激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java實(shí)力彈彈球?qū)崿F(xiàn)代碼

Java實(shí)力彈彈球?qū)崿F(xiàn)代碼

2020-06-06 14:16qq_26525215 JAVA教程

這篇文章主要為大家詳細(xì)介紹了Java實(shí)力彈彈球?qū)崿F(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

先看看效果圖:

Java實(shí)力彈彈球?qū)崿F(xiàn)代碼

直接上代碼了。
微調(diào)按鈕加畫布畫幾個(gè)圓,再實(shí)現(xiàn)監(jiān)聽。。。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
package cn.hncu.threadDemo.thread2;
 
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
 
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.Timer;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
 
public class BallsJFrame extends JFrame implements ChangeListener{
  private BallsCanvas ball;
  private JSpinner spinner;
 
  public BallsJFrame(){
    super("彈彈球");
    this.setBounds(300, 200, 400, 300);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    Color colors[] = {Color.red,Color.green,Color.blue,Color.magenta,Color.cyan};
 
    ball = new BallsCanvas(colors,100);
    this.getContentPane().add(ball);//默認(rèn)是CENTER位置
 
    JPanel panel = new JPanel();
    this.getContentPane().add(panel,"South");
    panel.add(new JLabel("Delay"));
    spinner = new JSpinner();
    spinner.setValue(100);
 
    panel.add(spinner);
 
    spinner.addChangeListener(this);
 
    this.setVisible(true);
  }
  @Override
  public void stateChanged(ChangeEvent e) {
    int value = Integer.parseInt(""+spinner.getValue());
    ball.setDelay(value);
  }
 
 
  public static void main(String[] args) {
    new BallsJFrame();
  }
 
}
 
class BallsCanvas extends Canvas implements ActionListener, FocusListener{
  private Ball balls[];//存放所有的球
  private Timer timer;//javax.swing.Timer
 
  public BallsCanvas(Color colors[] ,int delay){
    this.balls = new Ball[colors.length];
    for(int i=0,x=40;i<colors.length;i++,x+=20){
      this.balls[i] = new Ball(x,x,colors[i]);
 
    }
 
    //讓當(dāng)前畫布監(jiān)聽 焦點(diǎn)事件
    this.addFocusListener(this);
 
 
    timer = new Timer(delay,this);
    timer.start();
 
  }
 
  public void setDelay(int delay){
    timer.setDelay(delay);
  }
 
 
  @Override
  public void paint(Graphics g) {
    for(int i=0;i<this.balls.length;i++){
      g.setColor(balls[i].color);
 
 
      //讓每個(gè)球的坐標(biāo)變化一下---(x坐標(biāo))
      balls[i].x = balls[i].left ? balls[i].x-10:balls[i].x+10;
      //當(dāng)球碰壁時(shí),更改球的方向
      if(balls[i].x<=0||balls[i].x>=this.getWidth()-24){
        balls[i].left = !balls[i].left;//切換方向
      }
 
      //讓每個(gè)球的坐標(biāo)變化一下---(y坐標(biāo))
      balls[i].y = balls[i].up ? balls[i].y-10:balls[i].y+10;
      //當(dāng)球碰壁時(shí),更改球的方向
      if(balls[i].y<=0||balls[i].y>=this.getHeight()-22){
        balls[i].up = !balls[i].up;//切換方向
      }
 
 
 
      g.fillOval(balls[i].x, balls[i].y, 20, 20);
    }
  }
 
 
  @Override
  public void actionPerformed(ActionEvent e) {
    //System.out.println("aaa");
    repaint();//刷新畫布.調(diào)用paint(Graphics g)
  }
 
 
 
  @Override
  public void focusGained(FocusEvent e) {
    timer.stop();
  }
 
  @Override
  public void focusLost(FocusEvent e) {
    timer.restart();
 
  }
 
 
 
 
  private static class Ball{
    int x,y;
    boolean up,left;
    Color color;
    public Ball(int x, int y, Color color) {
      this.x = x;
      this.y = y;
      this.color = color;
      up = left = false;
    }
 
  }
 
 
 
 
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/qq_26525215/article/details/50382946

延伸 · 閱讀

精彩推薦
  • JAVA教程Java實(shí)現(xiàn)表達(dá)式二叉樹

    Java實(shí)現(xiàn)表達(dá)式二叉樹

    這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)表達(dá)式二叉樹,感興趣的小伙伴們可以參考一下 ...

    my筆觸1142020-06-03
  • JAVA教程Java中的MessageFormat.format用法實(shí)例

    Java中的MessageFormat.format用法實(shí)例

    這篇文章主要介紹了Java中的MessageFormat.format用法實(shí)例,本文先是講解了MessageFormat的語法,然后給出了多個(gè)操作實(shí)例,需要的朋友可以參考下 ...

    junjie3412019-12-20
  • JAVA教程Java通過MyBatis框架對MySQL數(shù)據(jù)進(jìn)行增刪查改的基本方法

    Java通過MyBatis框架對MySQL數(shù)據(jù)進(jìn)行增刪查改的基本方法

    MyBatis框架由Java的JDBC API進(jìn)一步封裝而來,在操作數(shù)據(jù)庫方面效果拔群,接下來我們就一起來看看Java通過MyBatis框架對MySQL數(shù)據(jù)進(jìn)行增刪查改的基本方法: ...

    czj44511702020-05-08
  • JAVA教程支持生產(chǎn)阻塞的Java線程池

    支持生產(chǎn)阻塞的Java線程池

    在各種并發(fā)編程模型中,生產(chǎn)者-消費(fèi)者模式大概是最常用的了。在實(shí)際工作中,對于生產(chǎn)消費(fèi)的速度,通常需要做一下權(quán)衡 ...

    java教程網(wǎng)3832019-11-19
  • JAVA教程探討Java驗(yàn)證碼制作(下篇)

    探討Java驗(yàn)證碼制作(下篇)

    這篇文章主要介紹了探討Java驗(yàn)證碼制作(下篇)的相關(guān)資料,需要的朋友可以參考下 ...

    Try.Catch5002020-04-29
  • JAVA教程java代碼實(shí)現(xiàn)截圖功能(屏幕截圖)

    java代碼實(shí)現(xiàn)截圖功能(屏幕截圖)

    java代碼實(shí)現(xiàn)截圖功能,該JavaBean可以直接在其他Java應(yīng)用程序中調(diào)用,默認(rèn)的文件前綴為GuiCamera,文件格式為PNG格式,直接使用下面的類吧 ...

    java代碼網(wǎng)3562019-10-25
  • JAVA教程JDBC使用小結(jié)

    JDBC使用小結(jié)

    JDBC是一個(gè)Java應(yīng)用程序接口,作用是封裝了對數(shù)據(jù)庫的各種操作。JDBC由類和接口組成,使用Java開發(fā)數(shù)據(jù)庫應(yīng)用都需要4個(gè)主要的接口:Driver、Connection、Sta...

    暮紫白2112020-04-25
  • JAVA教程Java中的Object類詳細(xì)介紹

    Java中的Object類詳細(xì)介紹

    這篇文章主要介紹了Java中的Object類詳細(xì)介紹,本文講解了Object類的作用、Object類的主要方法、Object類中不能被重寫的方法、Object類的equals方法重寫實(shí)例等內(nèi)...

    junjie3112019-12-23
主站蜘蛛池模板: 免费国产一级淫片 | 欧美成人午夜 | 中文字幕欧美日韩 | 欧美一区2区三区4区公司二百 | 国产羞羞视频在线观看 | 亚洲欧美成aⅴ人在线观看 av免费在线播放 | 欧美人成在线 | 国产一区二区三区视频免费 | 色阁阁69婷婷 | 免费大香伊蕉在人线国产 | 日韩在线观看视频一区二区三区 | 一级黄色免费观看视频 | 国产精品成aⅴ人片在线观看 | 午夜精品久久久久久久99热浪潮 | 黄色电影免费提供 | 国产精品久久久久国产精品三级 | 亚洲第一综合色 | 红杏网站永久免费视频入口 | 成人免费av在线播放 | 中文字幕线观看 | 天堂二区 | 欧美成年性h版影视中文字幕 | 久草手机在线 | 天天看夜夜爽 | 在线1区 | 999久久久国产999久久久 | 亚洲无av| 老师你怎么会在这第2季出现 | 国产一区国产二区在线观看 | 亚洲第一综合 | 特级黄aaaaaaaaa毛片 | 欧美一级淫片免费视频黄 | 经典三级在线视频 | 日本一区二区在线 | 91成人久久 | 视频一区免费观看 | 欧美18—19sex性hd | 国产美女视频一区 | 狠狠干天天 | 欧美日韩电影 | 91资源在线观看 |