KeyEvent / JLabel

Status
Nicht offen für weitere Antworten.
N

neulingthomas

Gast
hallo!
ich möchte einen shortcut "strg-n" einbauen, aber das klappt irgendwie nich... mein versuch:

Code:
public void keyTyped(KeyEvent event)
     {
         char key = event.getKeyChar();
         if (key==KeyEvent.VK_N)
             {
             if (event.isControlDown())
                 reset();
             }        
     }

außerdem soll ich ein JLabel setzen und bewegen, finde aber unter den methoden von JLabel keine, die das JLabel bewegt... das JLabel soll nämlich ein Spielfeld auf einem Spielbrett sein, das man anhand von den pfeiltasten bewegen könnnen soll....[/quote][/code]
 

André Uhres

Top Contributor
Einen JLabel kannst du mit setLocation bewegen (z.B. auf einem JPanel mit Nulllayout).
Code:
           public void keyPressed(KeyEvent evt) {
               if(evt.getKeyCode() == KeyEvent.VK_N && evt.getModifiers() == KeyEvent.CTRL_MASK){
                   System.out.println("strg-n");
               }
            }
 
N

neulingthomas

Gast
das mit dem keyevent war schon ma sehr hilfreich, danke!

nur das mit dem JLabel macht mir probleme... mein konstruktor sieht in etwa so aus:

Code:
public void kaestchen()
    {
    	JLabel label=new JLabel();
    	label.setOpaque(true);
    	label.setBackground(Color.red);        
    }

und das wollt ich dann evtl in der paint methode aufrufen und halt bei drücken einer pfeiltaste verschieben... stell ich mir das richtig vor?
 

André Uhres

Top Contributor
Code:
package events;
/*
 * LabelBewegenDemo.java
 */
import java.awt.event.*;
import javax.swing.*;
public class LabelBewegenDemo extends javax.swing.JFrame {
    private JLabel jLabel1;
    public LabelBewegenDemo() {
        super("Rechten Pfeil drücken");
        jLabel1 = new JLabel("jLabel1");
        getContentPane().setLayout(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jLabel1.addKeyListener(new KeyAdapter() {
            public void keyPressed(KeyEvent evt) {
                jLabel1KeyPressed(evt);
            }
        });
        getContentPane().add(jLabel1);
        jLabel1.setBounds(10,10,50,50);
        pack();
        setSize(400,300);
        jLabel1.requestFocusInWindow();
    }
    private void jLabel1KeyPressed(KeyEvent evt) {
        if(evt.getKeyCode() == KeyEvent.VK_RIGHT){
            jLabel1.setLocation(jLabel1.getX()+5, jLabel1.getY());
        }
    }
    public static void main(String args[]) {new LabelBewegenDemo().setVisible(true);}
}
 
N

neulingthomas

Gast
das is noch nich ganz so wie ichs mir vorstellte. ich habe ein spielbrett und in diesem spielbrett soll ein JLabel ein einziges feld darstellen, was sich durch pfeiltasten bewegen lässt. das mit den pfeiltasten krieg ich wohl irgendwie hin, aber die implementierung des JLabels und der aufruf von selbigem....
mein konstruktor:

Code:
public Spielbrett()
    {
    	label=new JLabel();
    	label.setOpaque(true);
    	label.setBackground(Color.red);  
        label.setBounds(10,10,10,10); 
        label.setLocation(x, y);
        this.addKeyListener(this);
    }
 

André Uhres

Top Contributor
Code:
package events;
/*
* PanelBewegenDemo.java
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class PanelBewegenDemo extends JFrame {
    private Spielbrett brett;
    public PanelBewegenDemo() {
        super("Rechten Pfeil drücken");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(400,300);
        brett = new Spielbrett();
        add(brett);
    }
    public static void main(final String args[]) {
        new PanelBewegenDemo().setVisible(true);
    }
}
class Spielbrett extends JPanel implements KeyListener{
    private Kaestchen kaestchen;
    private int x=100, y=100;
    public Spielbrett() {
        setLayout(null);
        kaestchen = new Kaestchen();
        kaestchen.setLocation(x, y);
        this.addKeyListener(this);
        add(kaestchen);
        setFocusable(true);
        requestFocusInWindow();
    }
    public void keyTyped(final KeyEvent evt) {    }
    public void keyPressed(final KeyEvent evt) {
        if(evt.getKeyCode() == KeyEvent.VK_RIGHT){
            kaestchen.setLocation(kaestchen.getX()+5, kaestchen.getY());
        }
    }
    public void keyReleased(final KeyEvent evt) {    }
}
/*
* Kaestchen
*/
class Kaestchen extends JPanel {
    public Kaestchen() {
        setOpaque(true);
        setBackground(Color.red);
        setSize(10,10);
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
VfL_Freak KeyEvent.VK_TAB im KeyListener abfragen Allgemeine Java-Themen 13
FunnyO KeyEvent.VK_ + int i, ausgeben mit Bot möglich? Allgemeine Java-Themen 2
K KeyEvent in Threads Allgemeine Java-Themen 11
DStrohma Input/Output KeyEvent nur verarbeiten wenn es ein "sichtbares" Zeichen ist? Allgemeine Java-Themen 1
B Swing KeyEvent Problem Allgemeine Java-Themen 2
P Robot --> Keyevent --> ö, ä, ü, - Allgemeine Java-Themen 8
J Erklährung für Robot KeyEvent anweisungen Allgemeine Java-Themen 2
H KeyEvent auslösen Allgemeine Java-Themen 2
loadbrain KeyEvent mit Variable verknüpfen Allgemeine Java-Themen 4
J java vnc client verbessern: KeyEvent.VK_ALT keine Wirkung? Allgemeine Java-Themen 12
M KeyEvent und Fragezeichen Allgemeine Java-Themen 6
K KeyEvent in eigenem Component geht nicht Allgemeine Java-Themen 3
G Auf KeyEvent reagieren, wenn das Fenster nicht aktiv ist Allgemeine Java-Themen 8
Mozart53 JLabel nur meinen Text verschieben ohne Image Allgemeine Java-Themen 3
Y Warum wird das JLabel falsch verschoben? Allgemeine Java-Themen 1
heinz ketchup String im JLabel ausgeben und erneuern Allgemeine Java-Themen 6
F JLabel nach 5 Sekunden wieder leeren Allgemeine Java-Themen 7
gamebreiti Swing JLabel wird nicht angezeigt Allgemeine Java-Themen 4
Q JLabel Textausgabe funktioniert nicht Allgemeine Java-Themen 4
A Klassen und JLabel's Allgemeine Java-Themen 12
S JLabel auf JPanel Allgemeine Java-Themen 10
D JLabel in (int) Array Allgemeine Java-Themen 8
JAVAnnik Bilder in JLabel Array einfügen Allgemeine Java-Themen 2
X Kann JLabel in JFrame nicht aktualisieren Allgemeine Java-Themen 3
T Edit: JLabel+MouseListener oeffnet mehrere Instanzen Allgemeine Java-Themen 5
N Jlabel automatisch anpassen Allgemeine Java-Themen 3
H image in jtextarea/JLabel einbinden... Allgemeine Java-Themen 4
M Escape Sequence in JLabel Allgemeine Java-Themen 4
L JLabel um 90 Grad drehen Allgemeine Java-Themen 6
T ImageIcon und JLabel Allgemeine Java-Themen 16
D JLabel aktualisieren Allgemeine Java-Themen 4
E Image auf einem JLabel darstellen Allgemeine Java-Themen 3
E Pixelweise auf einem JPanel/JLabel o.ä. zeichnen Allgemeine Java-Themen 4
S JLabel Allgemeine Java-Themen 2
B Text von JLabel wird nicht aktualisiert Allgemeine Java-Themen 5
M ein JLabel in einem JLabel? Allgemeine Java-Themen 3
M JLabel an Textlänge anpassen / Textlänge in pixel Allgemeine Java-Themen 3
B JCheckBox als JLabel Allgemeine Java-Themen 11
sliwalker JLabel-"Synchronisations"-Problem Allgemeine Java-Themen 7
G Html Link in einem JLabel? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben