为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA里面能做出来质点根据函数动态移动的效果吗?

JAVA里面能做出来质点根据函数动态移动的效果吗?

JVM
SMILET 2019-02-07 11:07:06
JAVA里面能做出来质点根据函数动态移动的效果吗?
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

可以的。
解决方案如下:
/.setDefaultCloseOperation(JFrame.println(".addKeyListener(mp),希望对你有帮助。不然可以帮你构建一下代码;/
import java.event.repaint();
}else if(e。你先参考我以前学习时做的一个简单移动质点的程序(可直接运行)。
/import javax。
Java UI本来就是一个坐标系.*.VK_DOWN)
{
y+=5;

/.VK_RIGHT)
{
x+=5.add(mp).VK_LEFT)
{
x-=5;实现监听
this;
}

@Override
public void keyTyped(KeyEvent e) {
/.EXIT_ON_CLOSE);调用repaint函数 来重绘界面
this;
public void paint(Graphics g)
{
super.getKeyCode()==KeyEvent:加深对事件处理机制的理解
* 键盘方向键控制小球的运动
*/.out;/.*.getKeyChar());被按下"
package JavaBase13_ActionListerner;
import java.awt;

if(e;/
}

@Override
public void keyPressed(KeyEvent e) {
/ TODO Auto-generated method stub
/
}

}

class MyPanel extends JPanel implements KeyListener
{
int x = 10; TODO Auto-generated method stub

}

@Override
public void keyReleased(KeyEvent e) {
/, 300).*; TODO Auto-generated method stub
DemoB w51 = new DemoB().paint(g), y.awt。就不知道你要的什么效果.fillOval(x.VK_UP)
{
y-=5;+e;
}
/.getKeyCode()==KeyEvent;System.setSize(300;

}
public DemoB()
{
mp = new MyPanel();
this;

this;
int y = 10;

public class DemoB extends JFrame{

MyPanel mp = null楼主你好;/
}else if(e, 10.getKeyCode()==KeyEvent;/
}else if(e, 10),将参数的值和你需要移动的质点坐标建立关系.getKeyCode()==KeyEvent!你用纯JAVA做UI界面要实现动态效果就必须不断刷新画面.swing;

public static void main(String[] args) {
//
this;

this.setVisible(true);
g。你的函数的参数也要不断的改变。应该就可以;*
* 功能



查看完整回答
反对 回复 2019-03-18
?
绝地无双

TA贡献1946条经验 获得超4个赞

你用纯JAVA做UI界面要实现动态效果就必须不断刷新画面。你的函数的参数也要不断的改变,将参数的值和你需要移动的质点坐标建立关系。应该就可以。
Java UI本来就是一个坐标系。就不知道你要的什么效果。不然可以帮你构建一下代码。你先参考我以前学习时做的一个简单移动质点的程序(可直接运行),希望对你有帮助。
/*
* 功能:加深对事件处理机制的理解
* 键盘方向键控制小球的运动
*/
package JavaBase13_ActionListerner;

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

public class DemoB extends JFrame{

MyPanel mp = null;

public static void main(String[] args) {
// TODO Auto-generated method stub
DemoB w51 = new DemoB();

}
public DemoB()
{
mp = new MyPanel();

this.add(mp);

//实现监听
this.addKeyListener(mp);

this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

}

class MyPanel extends JPanel implements KeyListener
{
int x = 10;
int y = 10;
public void paint(Graphics g)
{
super.paint(g);
g.fillOval(x, y, 10, 10);
}

@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
//System.out.println("被按下"+e.getKeyChar());

if(e.getKeyCode()==KeyEvent.VK_DOWN)
{
y+=5;
}else if(e.getKeyCode()==KeyEvent.VK_UP)
{
y-=5;
}else if(e.getKeyCode()==KeyEvent.VK_LEFT)
{
x-=5;
}else if(e.getKeyCode()==KeyEvent.VK_RIGHT)
{
x+=5;
}
//调用repaint函数 来重绘界面
this.repaint();
}

@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub

}

@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub

}
}



查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 673 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信