虾仁粥的做法 婴儿:滚动的小球 java源代码
来源:百度文库 编辑:高校问答 时间:2024/05/05 17:41:03
要制造那种效果只需要大约 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();
}
}
}
}
}