问题:密码都进入if中了打印成功,为什么结果没有话result这张图
实际结果:
预期结果:
package javaLearn;
import javax.swing.JFrame;
import javax.swing.RepaintManager;
import java.awt.*;
//import javax.swing.*;
public class BallGame extends JFrame {
//弹球游戏
Image ball = Toolkit.getDefaultToolkit().getImage("images/2.png");
Image desk = Toolkit.getDefaultToolkit().getImage("images/1.png");
Image result = Toolkit.getDefaultToolkit().getImage("images/3.jpg");
double x = 100;
double y = 100;
double drgee = 3.14/3;
//设置标记flag控制是否repaint()
boolean flag = true;
public void paint(Graphics g) {
System.out.println("窗口被画了一次!");
g.drawImage(desk, 0, 30, null);
g.drawImage(ball, (int)x, (int)y, null);
x+=10*Math.cos(drgee);
y+=10*Math.sin(drgee);
//实现反弹
if(y > 855-30 || y < 30) {
drgee=-drgee;
}
if(x > 1167-100 || x < 0) {
drgee = 3.14 - drgee;
}
//到达(262,82)停止repaint(),弹出一张图
if((int)x == 262&& (int)y == 82){
System.out.println("成功");
//问题1:密码都进入if中了打印成功,为什么结果没有话result这张图
g.drawImage(result, 303, 270, null);
//到达(262,82)停止repaint()
flag = false;
}
}
void launchFrame() {
setSize(1167,855);
setLocation(50, 50);
setVisible(true);
while(flag) {
repaint();
try {
Thread.sleep(40);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
BallGame games = new BallGame();
games.launchFrame();
}
}