0
同時に2つのオブジェクトを移動したいです。 私はこのためにスレッドを使いたいです。しかし、runメソッドでエラーが発生します。 どうすればいいですか? キーボードイベントを使用してこれを行う方法 2人プレイのゲームと同じですか?私はこの2プレイヤーゲームのようにキーボードイベントを使用して行うことができますどのようにスレッドでのKeyListenerの使用
public class First extends JPanel implements Runnable,KeyListener{
int y1=303/2;
private int vy=0;
public void paintComponent(Graphics g){
g.setColor(Color.BLUE);
g.fillRect(10,y1, 15, 20);
}
public void setVelocity(int v){
vy=v;
}
@Override
public void run() {
int keyCode=e.getKeyCode();
if(keyCode==KeyEvent.VK_UP){
}
if(keyCode==KeyEvent.VK_S){
}
else if(keyCode==KeyEvent.VK_DOWN){
}
else if(keyCode==KeyEvent.VK_W){
}
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
public static void main(String[] args){
JFrame jf=new JFrame();
Panel p=new Panel();
jf.add(p);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(300,300);
jf.setVisible(true);
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
}
class Second extends JPanel{
int y2=303/2;
private int vy=0;
public void setVelocity(int v){
vy=v;
}
@Override
public void paintComponent(Graphics g){
g.setColor(Color.YELLOW);
g.fillRect(150,y2, 15, 20);
}
}
class Panel extends JPanel{
First f=new First();
Second s=new Second();
public void paintComponent(Graphics g){
s.paintComponent(g);
f.paintComponent(g);
}
}
どのようなエラーがありますか? stacktraceを投稿する – GurV
runメソッドの 'e'もエラーをスローする – Rslnn
スレッドを使用して2つのオブジェクトを移動するにはどうすればよいですか? – Rslnn