java 图形_Java图形

/***************MovingComponent****/importjava.awt.Color;importjava.awt.Graphics;importjavax.swing.JComponent;publicclassMovingComponent2extendsJComponent{privateintx;pri...

/***************MovingComponent****/

import java.awt.Color;

import java.awt.Graphics;

import javax.swing.JComponent;

public class MovingComponent2 extends JComponent {

private int x;

private int y;

private final int RIGHT = 0;

private final int LEFT = 1;

private static final int WIDTH = 50;

private static final int HEIGHT = 50;

private int direction;

public MovingComponent2() {

x = 0;

y = 0;

direction = 1;

}

public void paintComponent(Graphics g) {

g.setColor(Color.GREEN);

g.fillOval(x, y,WIDTH, HEIGHT);

}

public void move() {

int height = getHeight();

int width = getWidth();

if(direction==1){

x+=2;

y+=2;

if(y+HEIGHT>=height){

x+=2;

y-=2;

if(x+WIDTH>=width){

direction=0;

}

}

}

else if(direction==0){

x-=2;

// y-=2;

if(x<=0){

direction=1;

}

}

repaint();

}

}

/********MovingFrame********/import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.Timer;public class MovingFrame extends JFrame{private MovingComponent box;public MovingFrame(){box = new MovingComponent();add(box);setSize(800,600);TimerListener listener = new TimerListener();Timer t = new Timer(10,listener);t.start();}class TimerListener implements ActionListener{@Overridepublic void actionPerformed(ActionEvent event) {box.move();}}}/************tester*****************/import javax.swing.JFrame;public class MovingTester {public static void main(String args[]){JFrame frame = new MovingFrame();frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setTitle("Moving Box!");}}

如果把方块换成球形,使它沿对角线移动,一旦到达最低端或者最右边反弹,我试了很久,就是达不到那种效果。求

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值