| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 511 人关注过本帖
标题:Java核心技术第一个列题我就打不出来.愁啊.,看看我哪里打的不对啊.
只看楼主 加入收藏
liuzime
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-28
收藏
 问题点数:0 回复次数:3 
Java核心技术第一个列题我就打不出来.愁啊.,看看我哪里打的不对啊.

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

import java.util.*;
public class Bounce {

public static void main(String[] args){
BounceFrame frame = new BounceFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class Ball{
private static final int XSIZE = 15;
private static final int YSIZE = 15;
private double x = 0;
private double y = 0;
private double dx = 1;
private double dy = 1;
public void move(Rectangle2D bounds){
x = x + dx;
y = 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);
}
}
class BallPanel extends JPanel{
private ArrayList<Ball> balls = new ArrayList<Ball>();
public void add(Ball b){
balls.add(b);
}
public void paintCommponent(Graphics g){
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
for(Ball b : balls){
g2.fill(b.getShape());
}
}
}
class BounceFrame extends JFrame{
private BallPanel panel;
private JPanel buttonPanel;
private JButton btnStart,btnClose;
private static final int DEFAULT_WIDTH = 450;
private static final int DEFAULT_HEIGHT = 350;
public static final int STEPS = 1000;
public static final int DELAY = 3;
public BounceFrame(){
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
setTitle("Bounce");
setLayout(new BorderLayout());
panel = new BallPanel();
add(panel,BorderLayout.CENTER);
buttonPanel = new JPanel();
btnStart = new JButton("Start");
btnClose = new JButton("Close");
add(buttonPanel,BorderLayout.SOUTH);
buttonPanel.add(btnStart);
buttonPanel.add(btnClose);
btnStart.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent enent){
addBall();
}
});
btnClose.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent enent) {

System.exit(0);
}

});
}

public void addBall(){
try{
Ball ball = new Ball();
panel.add(ball);
for(int i = 1;i<=STEPS;i++){
ball.move(panel.getBounds());
panel.paint(panel.getGraphics());
Thread.sleep(DELAY);
}
}catch(Exception er){
er.printStackTrace();
}
}
}
为什么我运行的时候我画的哪个圆显示不出来.

搜索更多相关主题的帖子: Java 核心 技术 
2006-08-06 19:52
liuzime
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-28
收藏
得分:0 
大家帮帮忙啊.
这才第一个例题啊.
以后的日子我怎么学啊.
2006-08-06 23:01
wxhwjsw
Rank: 1
等 级:新手上路
帖 子:274
专家分:0
注 册:2006-6-15
收藏
得分:0 

像这种问题 你最好把你的错误写出来 一般问题都是出在你的环境变量没设好的


一个人的快乐,不是因为他拥有的多,而是因为他计较的少.
2006-08-07 08:45
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
他那个程序我看了 能编译
就是不能达到效果
程序太长了
或者你完全按照他的例题打吧 试试
你好象自己修改了吧 这样找错误太难了

win32汇编
病毒 加密
目前兴趣所在
2006-08-07 10:29
快速回复:Java核心技术第一个列题我就打不出来.愁啊.,看看我哪里打的不对啊.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019664 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved