Avatar billede tvh33 Nybegynder
20. januar 2009 - 20:38 Der er 1 kommentar

KeyEvent - Piletaster

Hej eksperter..

Jeg har oprettet et JLabel som jeg gerne vil have til at bevæge sig x antal pixel hen ad x-aksen når jeg trykker på højre piletast. Samme gælder for resten af piletasterne.

Skal jeg tilføje en keyevent til mit JLabel, og hvis ja hvordan fortæller jeg at det er piletasterne den skal reagere på?

På forhånd tak:)
Avatar billede arne_v Ekspert
21. januar 2009 - 02:09 #1
Til inspiration:

import java.awt.Point;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

public class Mover extends JFrame implements KeyListener {
    private JLabel lbl;
    public Mover() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Move demo");
        lbl = new JLabel();
        lbl.setText("Test");
        lbl.setSize(100, 25);
        add(lbl);
        addKeyListener(this);
        setSize(600, 400);
    }
    @Override
    public void keyPressed(KeyEvent e) {
        Point p = lbl.getLocation();
        if(e.getKeyCode() == KeyEvent.VK_LEFT) {
            p.x--;
        } else if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
            p.x++;
        } else if(e.getKeyCode() == KeyEvent.VK_UP) {
            p.y--;
        } else if(e.getKeyCode() == KeyEvent.VK_DOWN) {
            p.y++;
        }
        lbl.setLocation(p);
    }
    @Override
    public void keyReleased(KeyEvent e) {
    }
    @Override
    public void keyTyped(KeyEvent e) {
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame f = new Mover();
                f.setVisible(true);
            }
        });
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester