当前位置: 代码迷 >> J2SE >> 关于编译出现异常的有关问题!
  详细解决方案

关于编译出现异常的有关问题!

热度:53   发布时间:2016-04-23 19:39:27.0
关于编译出现错误的问题!!!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.*;
import java.util.*;


public class Bounce {
public static void main(String[] args){
EventQueue.invokeLater(new Runnable(){
public void run(){
JFrame frame=new BounceFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

}
});
}

}

class BounceFrame extends JFrame{
private BallComponent comp;
public static final int STEPS=1000;
public static final int DELAY=3;



public BounceFrame(){
setTitle("Bounse");


comp=new BallComponent();
add(comp,BorderLayout.CENTER);
JPanel buttonPanel=new JPanel();
addButton(buttonPanel,"start",new ActionListener(){
public void actionPerformed(ActionEvent event){
addBall();
}
});
addButton(buttonPanel,"close",new ActionListener(){
public void actionPerformed(ActionEvent event){
System.exit(0);
}
});
add(buttonPanel,BorderLayout.SOUTH);
pack();
}



public void addButton(Container c, String title, ActionListener listener){
JButton button=new JButton(title);
c.add(button);
button.addActionListener(listener);
}

public void addBall(){
try{
Ball ball=new Ball();
comp.add(ball);


for(int i=1;i<=STEPS;i++){
ball.move(comp.getBounce());
comp.paint(comp.getGraphics());
Thread.sleep(DELAY);
}

}
catch(InterruptedException e){
}
}
}

public class Ball{
private static final int XSIZE=15;
private static final int YSIZE=15;
private double x=0;
private double y=0;
private dx=+1;
private dy=+1;


public void move(Rectangle2D bounds){
x+=dx;
y+=dy;
if(x<bounds.getMinX()){
x=bounds.getMinX();
dx=-dx;
}
if(x+XSIZE>=bounds.getMaxX()){
x=bounds.getMaxX()-XSIZE;
dx=-dx;
}
if(y<bounds.getMinY()){
y=bounds.getMinY();
dy=-dy;
}
if(y+YSIZE>=bounds.getMaxY()){
y=bounds.getMaxY()-YSIZE;
dy=-dy;
}
}
public Ellipse2D getShape(){
return new Ellipse2D.Double(x, y, XSIZE, YSIZE);
}
}

public class BallComponent extends JPanel{
private static final int DEFAULT_WIDTH=450;
private static final int DEFAULT_HEIGHT=350;

private java.util.List<Ball> balls=new ArrayList<>();

public void add(Ball b){
balls.add(b);
}

public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2=(Graphics2D) g;
for(Ball b:balls){
g2.fill(b.getShape());
}
}

public Dimension getPreferredSize(){
return new Dimension(DEFAULT_WIDTH,DEFAULT_HEIGHT);
}
}

编译显示:

求解这个问题怎么解决。我是新手,忘大神指点一二。
------解决思路----------------------
private dx=+1;
private dy=+1

这两句代码应该写成这样:
private dx+=1;
private dy+=1

编译的时候编译主方法所在类的类名Bounce。
  相关解决方案