用JAVA实现了控制小车的速度和方向,但是想把用KeyEvent控制变成鼠标点击button控制,有没有大神帮忙改下

importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjava.awt.geom.*;impor... import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.awt.geom.*;
import javax.swing.Timer;
import javax.swing.*;

class TestPanel extends JPanel
{
Timer myTimer;
int wait, wd, ht;
Robot robot;
double simtime = 0.0;
int x=210,y=210,velL=6,velR=6,stage=0;

TestPanel()
{
robot = new Robot(210,210,6,-6,Color.BLUE);
}

public class ShortTest2 extends JFrame implements ActionListener {
public void keyPressed(KeyEvent e){
int c=e.getKeyCode();

if (c==KeyEvent.VK_UP)
{
velR++;

}

if (c==KeyEvent.VK_DOWN)
{
velR--;
}

if (c==KeyEvent.VK_W)
{
velL++;
}

if (c==KeyEvent.VK_S)
{
velL--;
}
System.out.println("vR: "+ velR+"vL:"+velL);

}*/
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}

public void update()
{
wd = getWidth();
ht = getHeight();
double tstep, tmore;
//tmore = 1.0;

robot.move(0.05);
simtime = simtime + 0.05;

//robot.setPose(x,y,0);
robot.setVelocity(velR,velL);
repaint();
}

public void paintComponent(Graphics g)
{
super.paintComponent(g);
robot.draw(g);
g.setColor(Color.RED);
int n;
for (n=0; n<9; n++) {
g.drawLine(10,10+n*50,410,10+n*50);
g.drawLine(10+n*50,10,10+n*50,410);
}
}

public void startAnimation()
{
if (myTimer == null)
{
myTimer = new Timer(20,new TimerHandler() );
myTimer.start();
}
else if (!myTimer.isRunning()) myTimer.restart();
}

public void stopAnimation()
{
myTimer.stop();
}

private class TimerHandler implements ActionListener
{
public void actionPerformed(ActionEvent actionevent)
{

update();
}
}
}

public class motion extends JApplet
{
TestPanel panel;
public void init()
{
try {
EventQueue.invokeAndWait(new Runnable() {
public void run()
{
panel = new TestPanel();
add(panel);
}
});
}
catch (Exception e) {
}
}

public void start() {
panel.startAnimation();
}

public void stop() {
panel.stopAnimation();
}

public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable() {
public void run()
{
TestPanel panel = new TestPanel();
JFrame frame = new JFrame("Robot Motion");
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(440,460);
frame.setVisible(true);
panel.startAnimation();
}
});
}

ShortTest2 m = new ShortTest2();
m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
m.setSize(600, 370);
m.setLocationRelativeTo(null);
m.setVisible(true); }
}

机器人的设计再另一个程序里,字数太多,发不出来了,可私信
程序有误,最后多了些东西,大神有意向请私信!!
展开
 我来答
fengzhi714
2014-07-30 · 超过24用户采纳过TA的回答
知道答主
回答量:140
采纳率:0%
帮助的人:43万
展开全部
用几个JButton代替方向,然后给他们加监听,其他的就一样了
百度网友f3389cd
2014-07-30 · 超过18用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:47.1万
展开全部
画几个JButton,然后用监听器触发Oncliked的方法,跟你按键控制差不多的原理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HanJdEx
2014-07-30 · JAVA开发,物联网,框架
HanJdEx
采纳数:139 获赞数:418

向TA提问 私信TA
展开全部
我感觉很容易修改.要改可以私信我
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式