【发布时间】:2013-02-27 16:33:29
【问题描述】:
我正在尝试实现一个按键监听器,以使用箭头键在我的程序中移动汽车。 这是我的代码。
package moveCar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CPanel extends JPanel{
private static final long serialVersionUID = 1L;
CarComponent component;
public CPanel() {
component = new CarComponent();
JButton startButton = new JButton("Start");
JButton stopButton = new JButton("Stop");
startButton.addActionListener(new StartAction());
stopButton.addActionListener(new StopAction());
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout());
buttonPanel.add(startButton);
buttonPanel.add(stopButton);
this.setLayout(new BorderLayout());
this.add(buttonPanel, BorderLayout.NORTH);
this.add(component, BorderLayout.SOUTH);
}
class StartAction implements ActionListener {
public void actionPerformed(ActionEvent e){
component.setAnimation(true);
}
}
class StopAction implements ActionListener {
public void actionPerformed(ActionEvent e){
component.setAnimation(false);
}
}
}
package moveCar;
import javax.swing.*;
public class CarViewer {
CPanel a = new CPanel();
public CarViewer(){
a.add(new CPanel());
}
public static void main(String[] arg){
JFrame frame = new JFrame();
//frame.setSize(800,200);
frame.setTitle("This is strange .....");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new CPanel());
frame.pack();
frame.setVisible(true);
}
}
我相信这就是您需要的所有代码,但如果您需要我的其他代码,我可以得到。 谢谢
【问题讨论】:
-
嗯...你的问题是什么?
-
请告诉我们您的问题
-
KeyListener到底是在哪里声明的?无论如何,Swing 使用KeyBindings 而不是KeyListener。见this similar answer
标签: java swing keylistener