虾仁粥的做法 婴儿:滚动的小球 java源代码

来源:百度文库 编辑:高校问答 时间:2024/05/05 17:41:03
哪位高人有用java编写的滚动的小球的代码?只要能看得出是个小球在滚动就可以

 
 
 
要制造那种效果只需要大约 30 行 Java 代码:

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

class RollingBall extends JPanel {
    Ellipse2D.Float ball = new Ellipse2D.Float( -100, 100, 50, 50 );

    public void paintComponent( Graphics g ) {
        super.paintComponent( g );
        Graphics2D g2 = ( Graphics2D ) g;

        // Draw the ball
        g2.fill( ball );
        // Draw the rotating ellipse by skewing the Device Space
        double angdeg =     // One rotation per ball's travelling over its perimeter
            ball.x++ % ( Math.PI * ball.width ) / ( Math.PI * ball.width ) * 360;
        g2.rotate( Math.toRadians( angdeg ), ball.getCenterX( ), ball.getCenterY( ) );
        g2.scale( .5, 1 );
        g2.translate( ball.getCenterX( ), 0 );
        g2.setColor( Color.gray );
        g2.fill( ball );
    }

    public void roll( ) throws Exception {
        while( true ) {
            repaint( );
            Thread.sleep( 8 );
        }
    }

    public static void main( String[ ] args ) throws Exception {
        JFrame f = new JFrame( );
        RollingBall rb = new RollingBall( );

        f.setSize( 999, 185 );
        f.getContentPane( ).add( rb );
        f.setVisible( true );
        rb.roll( );
    }
}
 
 
 

如果有人为你编出来的话,那这个世界上所有的软件都不要钱了,java编个界面都要那么多代码,如果编个活动的小球,那要多少时间,要多少精力,除非,你出钱请程序员编

呵呵,只有50分啊?我用Flash给你做一个吧!

我觉得你是想在这蒙人 谁愿意作谁作 反正我不作 给我100块我就干 还有楼上的 java编个界面根本不难 而且不用写很多代码 JBuilder就能干这个 省很多事

帮你写个吧``这个挺简单的``如果我没理解错你的意思的话就是这样写了``下面的temp类是文件名,你的文件名也应该是temp:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class temp extends JFrame
{
static int x=0;
Container c;
public temp()
{
c=this.getContentPane();
c.setLayout(new GridLayout(2,1));
c.add(new panel());
c.add(new panel());
this.setSize(200,200);
this.setVisible(true);
}
public static void main(String s[])
{
new temp();
}

class panel extends JPanel//在面板上画个小球
{
panel()
{
thread t = new thread();
t.start();
}

public void paint(Graphics g)
{
g.clearRect(0,0,this.getWidth(),this.getHeight());
g.setColor(Color.red);
g.fillOval(x*2,0,20,20);
}
}
class thread extends Thread//写一个线程控制X坐标增加
{
public void run()
{
while(true)
{
try
{
Thread.sleep(300);
x=x+1;
repaint();
System.out.println(x);
}
catch(Exception e)
{
e.printStackTrace();
}
}

}
}
}