KeyAdapter w JComponent

0

Witam mam mały problem z implementacja KeyAdaptera do JComponenta a dokładniej gdzie wrzucić setFocusable by współgrało w sposob taki ze jak klikne na obiekt A to key bedzie z komponentu A a jak klikne B to z komponentu B?

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JApplet;
import javax.swing.JComponent;

public class Test59 extends JApplet {
    public void init(){
      this.setLayout(null);
      System.out.println("START");
      obiekt a = new obiekt("A");  this.add(a); a.setLocation(10, 10);
      obiekt b = new obiekt("B");  this.add(b); b.setLocation(70, 10);
    }
}

class obiekt extends JComponent {
    obiekt(final String txt){
        this.setSize(50, 50);
        this.addMouseListener(new MouseAdapter() {
           @Override public void mousePressed(MouseEvent e) {
                System.out.println(txt+" = mouse");
           }
        });
        this.addKeyListener(new KeyAdapter() {
            @Override  public void keyReleased(KeyEvent e) {
                System.out.println(txt+" = key");
            }
        });
    }
    @Override public void paintComponent(Graphics g) {
        g.setColor(Color.red);
        g.fillRect(0, 0, 50, 50);
    }
}
0
class obiekt extends JComponent {
    obiekt(final String txt){
        this.setSize(50, 50);
        this.addMouseListener(new MouseAdapter() {
           @Override public void mousePressed(MouseEvent e) {
                System.out.println(txt+" = mouse");
                requestFocus();                     ////
           }
        });
        this.addKeyListener(new KeyAdapter() {
            @Override  public void keyReleased(KeyEvent e) {
                System.out.println(txt+" = key");
            }
        });
    }
    @Override public void paintComponent(Graphics g) {
        g.setColor(Color.red);
        g.fillRect(0, 0, 50, 50);
    }
    @Override                                           ////
    public void requestFocus() {                 ////
        super.requestFocus();                      ////
    }                                                        ////
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1