Как говорится в заголовке, я пытаюсь добавить ключевой список в JPanel. Пока единственный способ, которым я работал, - добавить пустое текстовое поле и нажать на него. Теперь я не хочу пустое текстовое поле в своей JPanel, поэтому я хочу добавить keylistener в панель.KeyListener в JPanel не работает (панель сфокусирована)
Вот класс, я говорю:
package cookieClicker;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.KeyListener;
import java.awt.event.MouseListener;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class CookieView extends JPanel
{
private CookieModel cm;
private ImageIcon cookie;
public Rectangle rect;
public CookieView(CookieModel cm)
{
this.cm = cm;
this.setFocusable(true);
this.requestFocusInWindow();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
cookie = new ImageIcon("Untitled-1.png");
g.setColor(Color.ORANGE);
g.drawImage(cookie.getImage(), this.getWidth()/2 - 100, this.getHeight()/2 - 100, 200, 200, this);
rect = new Rectangle(this.getWidth()/2 - 100, this.getHeight()/2 - 100, 200, 200);
}
public void addListener(MouseListener m, KeyListener k)
{
this.addMouseListener(m);
this.addKeyListener(k);
}
}
Кто-нибудь знает, как сделать эту работу?
http://stackoverflow.com/questions/11487369/jpanel-doesnt-respone-to-keylistener-event. проверьте этот linl – Raghunandan