⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bball.java

📁 书籍"Java_面向事件编程"的附带光盘代码
💻 JAVA
字号:
import objectdraw.*;import java.awt.Color;// A class that implements a nice looking basketballpublic class BBall {        // the color to draw the ball        private static final Color BALL_ORANGE = new Color(250, 85, 10);        // size and starting angles for cut arc in degrees        private static final int CUTSIZE = 100;        private static final int RIGHTCUTSTART = 90 + (180 - CUTSIZE) / 2;        private static final int LEFTCUTSTART = 270 + (180 - CUTSIZE) / 2;        // the orange part of the ball        private FilledOval body;        // the border of the ball        private FramedOval border;        // the two curves on the sides of the ball        private FramedArc leftCut, rightCut;        // the vertical and horizontal lines through the ball        private Line vert, horiz;        // initial coordinates of basketball        private double initX, initY;        // move the ball by specified offsets        public void move(double dx, double dy)         {                // move each part of the ball by the offsets provided                body.move(dx, dy);                border.move(dx, dy);                vert.move( dx, dy);                horiz.move(dx, dy);                leftCut.move(dx, dy);                rightCut.move(dx, dy);        }                       // Create a new basketball        public BBall(double left, double top,                              double size, DrawingCanvas aCanvas)         {                // draw the circles that make it look like a ball                body = new FilledOval(left, top, size, size, aCanvas);                body.setColor(BALL_ORANGE);                             border = new FramedOval(left, top, size, size, aCanvas);                                // draw the lines and arcs that make it look like a basketball                rightCut = new FramedArc( left + size * 2 / 3, top,                                                  size, size,                                                  RIGHTCUTSTART, CUTSIZE,  aCanvas);                leftCut =  new FramedArc( left - size * 2 / 3, top,                                                  size, size,                                                  LEFTCUTSTART, CUTSIZE,   aCanvas);                vert =  new Line( left + size / 2, top,                                left + size / 2, top + size,   aCanvas);                horiz = new Line( left, top + size / 2,                                left + size, top + size / 2,   aCanvas);                                // remember the ball's starting position                initX = left;                initY= top;        }                        // check to see if the ball contains a specified location        public boolean contains(Location point)         {                return body.contains(point);        }        // move the ball to a specified position        public void moveTo(double x, double y)         {                // determine how far away (x,y) is                double dx, dy;                dx = x - body.getX();                dy = y - body.getY();                // move each part of the ball by the offsets provided                body.move(dx, dy);                border.move(dx, dy);                vert.move( dx, dy);                horiz.move(dx, dy);                leftCut.move(dx, dy);                rightCut.move(dx, dy);        }                // return the ball to its starting position        public void reset()         {                this.moveTo(initX, initY);        }                // return the x coordinate of ball's corner        public double getX(){                return body.getX();        }                // return the y coordinate of ball's corner        public double getY(){                return body.getY();        }        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -