Focus auf JPanel im Thread

Rantar

Mitglied
Hallo zusammen!

Ich schaffe es aus irgendeinen Grund nicht, meinem JPanel (eingebettet im JFrame) den Focus zu geben. Habe schon lange im Internet gesucht aber leider keine Lösung gefunden.

Hier kommt der relevante Code:
---------------------------------------------------------

public class ColorBalls {

public static void main(String[] args) {

JFrame gameFrame = new JFrame("JFRAME");
gameFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gameFrame.setResizable(false);
gameFrame.setVisible(true);

GamePanel gamePanel = new GamePanel(WIDTH, HEIGHT);
gameFrame.getContentPane().add(gamePanel);

gamePanel.setFocusable(true);
gameFrame.pack();
gameFrame.setLocationRelativeTo(null);

gamePanel.start(); //startet den Thread im gamePanel

}


public class GamePanel extends JPanel implements Runnable {

private Thread tAnimator;

public GamePanel(int width, int heigth){ // Konstruktor
setPreferredSize(new Dimension (width, heigth));
setBackground(Color.BLACK);
setVisible(true);
}


public synchronized void start(){
tAnimator = new Thread(this);
tAnimator.start();
}


@Override
public void run(){
GamePanel.this.requestFocus();
System.out.println("JPanel hat Focus: " + this.isFocusOwner()); // Focus - Test

defineKeys(); //Key-Actionlistener
}
}
 
Zuletzt bearbeitet:

Rantar

Mitglied
Für die Tastatureingabe. Die funktioniert nicht, wenn der JPanel nicht den Focus hat.


private void defineKeys(){
addKeyListener (new KeyAdapter(){
public void KeyPressed(KeyEvent e){
int keyCode = e.getKeyCode();
System.out.println(e.getKeyCode());
if ((keyCode == KeyEvent.VK_ESCAPE)){
running = false;
}
}
});
}
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
mach mal folgendes :

wenn du deine klasse von JPanel ableitest :

im Konstruktor :
Java:
public MyClass{
   ......

   setFocusable(true);
   requestFocus();

}

und den listener setzt du indem du die addNotify() Methode überschreibst, da diese Methode vom Toolkit automatisch ausgeführt wird wird schon beim Initialisieren des Panels der Listener gesetzt.

Java:
@Override
public void addNotify(){
   super.addNotify();
   addKeyListener(this);
}
]
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Du musst natürlich dann auch KeyListener implementieren....

Java:
public MyClass implements KeyListener{.....}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Ein Button soll Focus rausfinden und Methode starten Java Basics - Anfänger-Themen 9
Kenan89 Focus an, aus Java Basics - Anfänger-Themen 2
Helgon Focus setzen Java Basics - Anfänger-Themen 6
H Focus auf Textfeld in JOptionPane Java Basics - Anfänger-Themen 2
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
Y JFrame immer im Focus ? Java Basics - Anfänger-Themen 7
K Focus behalten Java Basics - Anfänger-Themen 4
Z Focus auf die letze Spalte Java Basics - Anfänger-Themen 9
G Herausfinden, welche Componente als LETZTES focus hatte Java Basics - Anfänger-Themen 2
G Frame soll Focus behalten Java Basics - Anfänger-Themen 2
S Robot ohne Focus. Java Basics - Anfänger-Themen 6
P Setzen des Focus Java Basics - Anfänger-Themen 3
A Sichtbare Komponente und Focus Java Basics - Anfänger-Themen 2
E Focus auf JTextField legen Java Basics - Anfänger-Themen 11
P Focus auf Applet Java Basics - Anfänger-Themen 2
S Background von JtextField bei Focus in dem Feld ändern Java Basics - Anfänger-Themen 6
I Focus Probleme Java Basics - Anfänger-Themen 3
M JTable Focus bleibt auf Zelle Java Basics - Anfänger-Themen 4
bernd Problem mit Focus Java Basics - Anfänger-Themen 2
C Focus fürs Zeichnen verschieben?? Java Basics - Anfänger-Themen 3
M Sorry,ne blöde Frage Focus setzen und Focus Reihenfolge Java Basics - Anfänger-Themen 15
richis-fragen Optisch JPanel BorderLayout vertikaler Rand dicker als horizontaler Rand Java Basics - Anfänger-Themen 4
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
J Ein mit UI-Designer erstelltes JPanel einblenden Java Basics - Anfänger-Themen 0
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
Zeppi JPanel responsive Grid Java Basics - Anfänger-Themen 0
J JPanel in JScrollPanel Java Basics - Anfänger-Themen 4
Elyt JPanel als HintergrundBild Java Basics - Anfänger-Themen 7
W 2 JPanel in einem JFrame Java Basics - Anfänger-Themen 4
B Wie kann man an ein JPanel eine Scrollbar anheften? Java Basics - Anfänger-Themen 8
O Swing JPanel Java Basics - Anfänger-Themen 4
CptK Klassen JPanel nach Ablauf der Spielzeit neuladen Java Basics - Anfänger-Themen 2
S JPanel wird nicht angezeigt Java Basics - Anfänger-Themen 1
D Animation JPanel Java Basics - Anfänger-Themen 1
M JLabels "verrutschen" beim übergeben von JPanel Java Basics - Anfänger-Themen 2
D Auf angeklicktes JPanel zugreifen Java Basics - Anfänger-Themen 5
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
Y Webinhalt JPanel Java Basics - Anfänger-Themen 6
D Erste Schritte JPanel verschiebt Fenster via setVisible Java Basics - Anfänger-Themen 5
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
S JPanel variablenabhängig erstellen Java Basics - Anfänger-Themen 13
J Methoden Dinge auf einem JPanel paltzieren Java Basics - Anfänger-Themen 1
Z JPanel wird zweimal hinterinander gezeichnet.. Wieso? Java Basics - Anfänger-Themen 4
F JFrame resize verschiebt JPanel Java Basics - Anfänger-Themen 3
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
I A0-Format in jpanel anzeigen Java Basics - Anfänger-Themen 1
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
J Probleme mit eigenem JPanel (IDE Eclipse) Java Basics - Anfänger-Themen 4
S JPanel wird versetzt auf JFrame gelegt Java Basics - Anfänger-Themen 2
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
I Problem mit JPanel Java Basics - Anfänger-Themen 0
B JPanel ändert die Hintergrundfarbe nicht Java Basics - Anfänger-Themen 2
F Threads funktionieren auf JPanel nicht Java Basics - Anfänger-Themen 1
C JPanel in MessageDialog Java Basics - Anfänger-Themen 1
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
M Listener einerm JPanel hinzufuegen Java Basics - Anfänger-Themen 3
gamebreiti Methoden JPanel nach clearAll() und add neu zeichnen Java Basics - Anfänger-Themen 1
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
Z JPanel bleibt leer Java Basics - Anfänger-Themen 2
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
Q JPanel Java Basics - Anfänger-Themen 2
K Erste Schritte jpanel in einer klasse auslagern Java Basics - Anfänger-Themen 3
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
N String auf JPanel bewegen Java Basics - Anfänger-Themen 6
K Erste Schritte Jframe Im Jpanel Java Basics - Anfänger-Themen 4
S Layout mit JPanel in JScrollPanel funktioniert nicht Java Basics - Anfänger-Themen 3
S JPanel drucken -> PrinterException Java Basics - Anfänger-Themen 2
B JPanel -JTable Java Basics - Anfänger-Themen 2
H JPanel Hintergrund transparent setzen? Java Basics - Anfänger-Themen 10
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
L zoomen aus jpanel Java Basics - Anfänger-Themen 7
P Bekomme in meinen JPanel nur eine JComponente angezeigt Java Basics - Anfänger-Themen 7
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3
R JFrame über einen JPanel Java Basics - Anfänger-Themen 5
I Veränderungen am JPanel vom JDialog aus Java Basics - Anfänger-Themen 6
F JPanel zu klein Java Basics - Anfänger-Themen 5
D GUI - Objekte in JPanel nach oben schieben Java Basics - Anfänger-Themen 2
S JPanel wird nicht eingefügt Java Basics - Anfänger-Themen 3
P Netbeans Platform - JLabel und JPanel setLocation Problem Java Basics - Anfänger-Themen 2
Kenan89 JPanel mit JTable Java Basics - Anfänger-Themen 9
I JPanel in JPanel Java Basics - Anfänger-Themen 2
A Zugriff auf Komponente innerhalb einer JPanel Java Basics - Anfänger-Themen 8
J Auf einem JPanel ein JFrame platzieren Java Basics - Anfänger-Themen 10
S JPanel anzeige Java Basics - Anfänger-Themen 2
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
T Zugreifen auf JPanel Java Basics - Anfänger-Themen 4
K JPanel auslagern Java Basics - Anfänger-Themen 9
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
T Tastendruck simulieren in JPanel Java Basics - Anfänger-Themen 3
P JPanel in JTable einfügen Java Basics - Anfänger-Themen 23
E Erste Schritte Objekte werden in JPanel angedockt und maximiert Java Basics - Anfänger-Themen 7
M Componenten auf JPanel anzeigen Java Basics - Anfänger-Themen 2
F JPanel als JPG - weisse Fläche Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben