刚学java,请教 编写一个java小程序,在小程序窗口中显示字符串“java程序设计”,按下键盘上的箭头键,可按照箭头方向移动(得到的键盘代码的方法是e.getKeyCode(),上下左右键的编码分别用常量VK_UP,VK_DOWN,VK_RIGHT,VK_LEFT表示) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没怎么看懂你的意思,大概是要字按箭头的方向移动吧?你可以用Panel,然后用GridLayout(),在Panel中添加几个Label,接收到相应的Key事件后,让字在相应的方向上的Label上显示。这样应该达到你想要的效果了吧? 个人思路:1. 使用Java 2D的接口,绘制字符串,每一个键盘事件repaint()一下;2. 窗口里开一个X*X的表格,全部放入JLabel,每一个键盘点击时间改变JLabel的值,空的设为“” 1. 使用Java 2D的接口,绘制字符串,每一个键盘事件repaint()一下; 2. 窗口里开一个X*X的表格,全部放入JLabel,每一个键盘点击时间改变JLabel的值,空的设为“”UP.... 编写一个java小程序,在小程序窗口中显示字符串“java程序设计”,按下键盘上的箭头键,可按照箭头方向移动(提示:得到的键盘代码的方法是e.getKeyCode(),上下左右键的编码分别用常量VK_UP,VK_DOWN,VK_RIGHT,VK_LEFT表示)兄弟们啊,我要的是代码,这是我的作业啊 import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JLabel; public class Test extends JFrame implements KeyListener { private static final long serialVersionUID = 1L; private JLabel jl = new JLabel("java程序设计"); private static final int STEP = 10;//设置移动的幅度 public static void main(String[] args) { new Test().launchFrame(); } public void launchFrame() { this.add(jl); this.addKeyListener(this); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setBounds(300,200,600,400); this.setVisible(true); } public void keyPressed(KeyEvent e) {//按一个键,可以连续按 key(e); } public void keyReleased(KeyEvent e) {//按下放开一个键 } public void keyTyped(KeyEvent e) {//击一下键 } public void key(KeyEvent e) {//可以将这个函数添加到上面的三个方法里 switch(e.getKeyCode()) { case KeyEvent.VK_LEFT ://左箭头 jl.setLocation(jl.getLocation().x - STEP, jl.getLocation().y); break; case KeyEvent.VK_RIGHT ://右箭头 jl.setLocation(jl.getLocation().x + STEP, jl.getLocation().y); break; case KeyEvent.VK_UP ://上箭头 jl.setLocation(jl.getLocation().x, jl.getLocation().y - STEP); break; case KeyEvent.VK_DOWN ://下箭头 jl.setLocation(jl.getLocation().x, jl.getLocation().y + STEP); break; } } } 各位大侠,不用帮忙了 问个问题啊 mappedbytebuffer缓冲区的大小和位置能不能改变? Java刷屏函数 java dom xml 查入一个node时候 抛出HIERARCHY_REQUEST_ERR 怎么才能让eclipse运行的时候不在eclipse的console显示结果呢? 到底swing用的是哪个包啊?这个问题好郁闷。 这个命名内部类该怎么写,谢谢了!!! winxp如何使用java的ftp程序? Java平台程序与Windows平台程序有接口吗? java的getClass()的问题 一个java线程的例子 好像同步块没有起作用? 金山词霸的API
1. 使用Java 2D的接口,绘制字符串,每一个键盘事件repaint()一下;
2. 窗口里开一个X*X的表格,全部放入JLabel,每一个键盘点击时间改变JLabel的值,空的设为“”
2. 窗口里开一个X*X的表格,全部放入JLabel,每一个键盘点击时间改变JLabel的值,空的设为“”
UP....
(提示:得到的键盘代码的方法是e.getKeyCode(),上下左右键的编码分别用常量VK_UP,VK_DOWN,VK_RIGHT,VK_LEFT表示)兄弟们啊,我要的是代码,这是我的作业啊
import java.awt.event.KeyListener; import javax.swing.JFrame;
import javax.swing.JLabel;
public class Test extends JFrame implements KeyListener { private static final long serialVersionUID = 1L;
private JLabel jl = new JLabel("java程序设计");
private static final int STEP = 10;//设置移动的幅度
public static void main(String[] args) {
new Test().launchFrame();
} public void launchFrame() {
this.add(jl);
this.addKeyListener(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(300,200,600,400);
this.setVisible(true);
} public void keyPressed(KeyEvent e) {//按一个键,可以连续按
key(e);
} public void keyReleased(KeyEvent e) {//按下放开一个键
} public void keyTyped(KeyEvent e) {//击一下键 } public void key(KeyEvent e) {//可以将这个函数添加到上面的三个方法里
switch(e.getKeyCode()) {
case KeyEvent.VK_LEFT ://左箭头
jl.setLocation(jl.getLocation().x - STEP, jl.getLocation().y);
break;
case KeyEvent.VK_RIGHT ://右箭头
jl.setLocation(jl.getLocation().x + STEP, jl.getLocation().y);
break;
case KeyEvent.VK_UP ://上箭头
jl.setLocation(jl.getLocation().x, jl.getLocation().y - STEP);
break;
case KeyEvent.VK_DOWN ://下箭头
jl.setLocation(jl.getLocation().x, jl.getLocation().y + STEP);
break;
}
}
}
各位大侠,不用帮忙了