アイデアは:彼はアクションを再描画を停止させるために、変数XとYを作成するために、小さなボールを起動するコードに直接配置され、ボールが最初に彼を達成することができる位置の絶え間ない変化のウィンドウに移動できるようにする必要があるようにしたいです
// //ウィンドウレベルのフライボール//インポートパッケージをロード
インポート持つjava.awt。*;
インポートするjavax.swing。*;
コードエディタウィンドウ
パブリッククラス野球の試合は、JFrameのに延び{
int
I = 1;
Image
ボール= Toolkit.getDefaultToolkit()のgetImage( "画像/ ball.png");. //コードイメージをロード
Image
デスク= Toolkit.getDefaultToolkit()のgetImage(「画像/ desk.jpg」)。
//给小球定位在窗口的位置
double
X = 100; //ペレット座標
double
Y = 100。
//ボールの動きの方向
boolean
右=はtrue。
//让图片显示在窗口上的方法//画窗口的方法
public
ボイドペイント(グラフィックスG){
g.drawImage(desk,
0、0、NULL);
g.drawImage(ball,
(あなた)の仕事、(あなた)yは、NULL);
if
(右) {
x=
X + 10。
}else{
x=x-10;
このプロセスのエッジにおける//小さなボールので、対応する他から減算するテーブルを超える非現実的と思われます
}if
(X> 856-40-30){// 856は、ボール30は、小径ウィンドウの幅、テーブル40の幅であります
right=false;
}if(x<40){
//ヒット側はリバウンドします
right
=はtrue。
}}
void
launchFrame(){
setSize(856,500);//窗口大小;
setLocation(800,800);//出现位置定位
setVisible(true);
//重画窗口
再描画効果を移動するボールを見るためにウィンドウを更新すると等価です
while(true){
repaint();
try{Thread.sleep(40);//毫秒Thread.sleep(40);//毫秒
}catch(Exception
E){e.printStackTrace();}}}
//main方法是程序执行的入口
パブリック静的無効メイン(文字列[] args){
System.out.println("666");
BallGame game=new BallGame();
game.launchFrame();
}}
このように、ボールはサイクルを上に移動します