Maison >Java >javaDidacticiel >Comment animer une image avec des contrôles Keypress en Java ?
Il est possible de faire bouger une image d'avant en arrière dans une fenêtre tout en écoutant une pression sur une touche . La mise en œuvre de cela nécessite une combinaison de minuterie Swing et de raccourcis clavier.
Pour y parvenir, vous pouvez suivre ces étapes :
Par exemple, voici un extrait de code Java simplifié qui implémente les étapes ci-dessus :
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MovingImage extends JPanel implements KeyListener { // Set the image's initial position private int x = 100; private int y = 100; public MovingImage() { // Add the KeyListener to the panel addKeyListener(this); // Set the size of the panel setPreferredSize(new Dimension(500, 500)); setBackground(Color.white); } @Override public void paintComponent(Graphics g) { super.paintComponent(g); // Draw the image at the current position g.drawImage(myImage, x, y, null); } @Override public void keyPressed(KeyEvent e) { // Handle keypress events for moving the image int key = e.getKeyCode(); if (key == KeyEvent.VK_LEFT) { x -= 10; } else if (key == KeyEvent.VK_RIGHT) { x += 10; } else if (key == KeyEvent.VK_UP) { y -= 10; } else if (key == KeyEvent.VK_DOWN) { y += 10; } // Repaint the panel to update the image's position repaint(); } // Implement other KeyListener methods (keyReleased and keyTyped) if needed public static void main(String[] args) { JFrame frame = new JFrame("Moving Image"); frame.add(new MovingImage()); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
N'oubliez pas d'ajuster les codes clés et les détails du dessin de l'image comme selon vos besoins spécifiques. En utilisant les raccourcis clavier, vous pouvez attribuer des touches spécifiques pour contrôler le mouvement de l'image, comme gauche, droite, haut et bas.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!