毕业设计(求代码) 做一张图,要求控制几个小点在上面移动,还要即时返回坐标位置 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 找到一个代码,你再稍微修改一下,应该就满足你的要求了,呵呵import java.awt.*;import java.awt.event.*;import java.util.*;public class BallThread extends Frame{ public BallThread() { setSize(300,200); setTitle("Ball Thread Demo"); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); final MainPanel canvas = new MainPanel(); canvas.balls = new Vector(); add((Panel)canvas,"Center"); Panel p = new Panel(); addButton(p,"Start",new ActionListener(){ public void actionPerformed(ActionEvent evt){ Ball b = new Ball(canvas); canvas.balls.add(b); b.start(); } }); addButton(p,"Close",new ActionListener(){ public void actionPerformed(ActionEvent evt){ canvas.setVisible(false); System.exit(0); } }); add(p,"South"); } public void addButton(Container c,String title,ActionListener a) { Button b = new Button(title); c.add(b); b.addActionListener(a); } public static void main(String[] args) { Frame f = new BallThread(); f.show(); }}class MainPanel extends Panel{ public Vector balls; synchronized public void paint(Graphics g) { paintBalls(); } public void paintBalls() { Enumeration ballenum = balls.elements(); while(ballenum.hasMoreElements()) { Ball ball = (Ball)ballenum.nextElement(); ball.draw(); } }}class Ball extends Thread{ MainPanel mainpanel; private static final int XSize=10; private static final int YSize=10; private int x=0; private int y=0; private int dx=2; private int dy=2; public Ball(MainPanel b) { mainpanel=b; } public void draw() { Graphics g=mainpanel.getGraphics(); g.fillOval(x,y,XSize,YSize); g.dispose(); } public void move() { if(!mainpanel.isVisible()) return; x+=dx; y+=dy; Dimension d=mainpanel.getSize(); if(x<0){x=0;dx=-dx;} if(y<0){y=0;dy=-dy;} if(x+XSize>=d.width){x=d.width-XSize;dx=-dx;} if(y+YSize>=d.height){y=d.height-YSize;dy=-dy;} mainpanel.repaint(); } public void run() { try { draw(); for(int i=0;i<=1000;i++) { move(); sleep(50); } } catch(Exception e) { } }} 哪位高手能根据这道题讲解一下关于内部类的知识吗?谢谢 java 窗口如何美化 java连接数据库问题 大家帮看一下这段代码为什么错的,谢谢了 请教,关于Vector中嵌套Vector 网 络 编 程 基 础 问 题 请 教 , 谢 谢 。 。 。 如何获得系统时间? 关于系统时间 用jbuilder连数据库 java新人问大神引用问题。 请问如何用JAVA实现对注册表信息修改、提取以及删除 debian下安装jdk1.5.0 update2失败(100')
import java.awt.*;
import java.awt.event.*;
import java.util.*;public class BallThread extends Frame
{
public BallThread()
{
setSize(300,200);
setTitle("Ball Thread Demo");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
final MainPanel canvas = new MainPanel();
canvas.balls = new Vector();
add((Panel)canvas,"Center");
Panel p = new Panel();
addButton(p,"Start",new ActionListener(){
public void actionPerformed(ActionEvent evt){
Ball b = new Ball(canvas);
canvas.balls.add(b);
b.start();
}
});
addButton(p,"Close",new ActionListener(){
public void actionPerformed(ActionEvent evt){
canvas.setVisible(false);
System.exit(0);
}
});
add(p,"South");
}
public void addButton(Container c,String title,ActionListener a)
{
Button b = new Button(title);
c.add(b);
b.addActionListener(a);
}
public static void main(String[] args)
{
Frame f = new BallThread();
f.show();
}
}class MainPanel extends Panel
{
public Vector balls;
synchronized public void paint(Graphics g)
{
paintBalls();
}
public void paintBalls()
{
Enumeration ballenum = balls.elements();
while(ballenum.hasMoreElements())
{
Ball ball = (Ball)ballenum.nextElement();
ball.draw();
}
}
}class Ball extends Thread
{
MainPanel mainpanel;
private static final int XSize=10;
private static final int YSize=10;
private int x=0;
private int y=0;
private int dx=2;
private int dy=2;
public Ball(MainPanel b)
{
mainpanel=b;
}
public void draw()
{
Graphics g=mainpanel.getGraphics();
g.fillOval(x,y,XSize,YSize);
g.dispose();
}
public void move()
{
if(!mainpanel.isVisible()) return;
x+=dx;
y+=dy;
Dimension d=mainpanel.getSize();
if(x<0){x=0;dx=-dx;}
if(y<0){y=0;dy=-dy;}
if(x+XSize>=d.width){x=d.width-XSize;dx=-dx;}
if(y+YSize>=d.height){y=d.height-YSize;dy=-dy;}
mainpanel.repaint();
}
public void run()
{
try
{
draw();
for(int i=0;i<=1000;i++)
{
move();
sleep(50);
}
}
catch(Exception e)
{
}
}
}