Fokus

Tonxxx

Bekanntes Mitglied
hallo man hat mir gesagt das ich hier CenterPanel de fokus gebe..
doch kann mir jemand sagen wo ich das mache, und wie ich das unterlassen kann?

Java:
public class LayoutManager extends Applet 
{
    public void init() {
        add(new LayoutManager_1());
    }
 
}
 
 
class BirdsEyeView extends Canvas
{
 
 
 
 
 
    public BirdsEyeView(int appletsize_x, int appletsize_y, int v1, int v2, int v3, int v4, double t, 
                int Radius, int radius, int kradius, int kRadius, int radiusComet, double ex_a_e, 
                double ex_b_e, double ex_a_m, double ex_b_m, double ex_a_s, double ex_b_s, int mittelP, int Schweif, int anzahlC, int xm, int ym, int xs, int ys,
                int[] x, int[] y, double[] xd, double[] yd)
    {
 
 
        this.appletsize_x = appletsize_x;
        this.appletsize_y = appletsize_y;
 
        this.v1 = v1;
        this.v2 = v2;
 
        this.v3 = v3;
        this.v4 = v4;
        this.t = t;
        this.Radius = Radius;
        this.radius = radius;
        this.kradius = kradius;
        this.kRadius = kRadius;
        this.radiusComet = radiusComet;
        this.ex_a_e = ex_a_e;
        this.ex_b_e = ex_b_e;
        this.ex_a_m = ex_a_m;
        this.ex_b_m = ex_b_m;
        this.ex_a_s = ex_a_s;
        this.ex_b_s = ex_b_s;
        this.mittelP = mittelP;
        this.Schweif = Schweif;
        this.anzahlC = anzahlC;
        this.x = x;
        this.y = y;
        this.xd = xd;
        this.yd = yd;
    
        System.out.println("b" + Schweif + anzahlC);
 
 
 
    }
    public void paint(final Graphics g)
    {
        /* das paint() der super-Klasse muss natürlich aufgerufen werden. */
        super.paint(g);
 
 
 
            Color braun = new Color(142,43,43);
 
            g.setColor  (braun);
 
            g.fillOval (x[1] + appletsize_x/2 - 1, y[1] + appletsize_y / 2 - 1 -100, 2, 2);
 
        
 
    }
}
 
class LayoutManager_1 extends Panel implements Runnable, KeyListener
{
    // Initialisierung der Variablen
 
 
 
    public LayoutManager_1() 
    {
 
        bird = new BirdsEyeView(appletsize_x,
                    appletsize_y,
                    v1,
                    v2,
                    v3,
                    v4,
                    t,
                    Radius,
                    radius,
                    kradius,
                    kRadius,
                    radiusComet,
                    ex_a_e,
                    ex_b_e,
                    ex_a_m,
                    ex_b_m,
                    ex_a_s,
                    ex_b_s,
                    mittelP,
                    Schweif,
                    anzahlC,
                    xm,
                    ym,
                    xs,
                    ys,
                    x,
                    y,
                    xd,
                    yd);
 
 
        setLayout(new BorderLayout());
        
        
        // add the two canvases
        Panel centerPanel = new Panel();
        centerPanel.setLayout(new GridLayout());
        
        Color farbebg = new Color(0,0,0);
        bird.setBackground(farbebg);
        centerPanel.add(bird);
 
        
        add("Center", centerPanel);
 
 
        setPreferredSize(new Dimension(appletsize_x,appletsize_y));
 
        th.start();
        
        
            addKeyListener(this);
 
 
    }
 
    public void keyPressed(KeyEvent event)
    {
 
            System.out.println(event.getKeyChar());
    }
 
    public void keyReleased(KeyEvent event)
    {
 
    }
 
    public void keyTyped(KeyEvent event)
    {
 
    }
 
    public void run ()
    {
        // Erniedrigen der ThreadPriority um zeichnen zu erleichtern
        Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
 
 
        // Solange true ist läuft der Thread weiter
        while (running)
        {
            t += 0.02;
 
            System.out.println(t);  
 
 
 
            // Neuzeichnen des Applets
            repaint();
            //bird.repaint();
 
            try
            {
                // Stoppen des Threads für in Klammern angegebene Millisekunden
                Thread.sleep (20);
            }
            catch (InterruptedException ex)
            {
                // do nothing
            }
 
            // Zurücksetzen der ThreadPriority auf Maximalwert
            Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
 
            if (th.interrupted())
            {
                break;
            }
        }
 
    }
 
 
    public void paint (Graphics g)
    {
    }
}

vielen dank für eure hilfe
 

Tonxxx

Bekanntes Mitglied
also eigentlich weiss ich nicht warum mein programm nicht mehr auf meinen Keylistener hört. da hat man mir gesagt es könnte daran liegen das der Fokus nun bei der CenterPlane liege und nicht mehr bei meiner LayoutManager klasse. darum würde der Keylistener nicht mehr funktionieren. nun weiss ich nicht wie ich den fokus NICHT auf mein canvas lege...
 

Tonxxx

Bekanntes Mitglied
hei bitte helft mir, ich muss meine arbeit bald abgeben, und hab keinen schimmer wie ich voran kommen soll.
Bitte, kann mir niemand sagen wie das mit dem fokus läuft?
 

Suinos

Bekanntes Mitglied
Der Fokus wandert von alleine, je nachdem, was der Benutzer macht.

Du könntest entweder die Komponenten nicht mehr fokusierbar machen, oder auch bei denen den
Code:
KeyListener
anmelden (oder eine Mischung aus beiden).

---

Übrigens:

Es gibt bereits ein Interface namens LayoutManager.

Der Name
Code:
LayoutManager_1()
verstösst gegen die Konvention und sagt nichts aus.

Beim Konstruktor von
Code:
BirdsEyeView
wusste ich nicht, ob ich lachen oder weinen soll.

Variablen schreibt man in
Code:
camelCase
(siehe Konvention).
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Java Applikation im Fokus halten Java Basics - Anfänger-Themen 3
J Keyboard Event auch ohne Fokus mitbekommen Java Basics - Anfänger-Themen 2
N Problem mit JOptionPane und Fenster-Fokus Java Basics - Anfänger-Themen 2
N Fokus setzen nachdem JFrame in Vordergrund geholt wurde Java Basics - Anfänger-Themen 7
S JTable Fokus auf eine Row Java Basics - Anfänger-Themen 2
G KeyListener, Fokus Java Basics - Anfänger-Themen 8
Z Fokus auf anderes Programm setzen Java Basics - Anfänger-Themen 3
C JPanel erhält sporadisch keinen Fokus Java Basics - Anfänger-Themen 3
A Fokus im Passwortfield Java Basics - Anfänger-Themen 3
Z Auf Clipboardänderung reagieren ohne Fokus der Apllikation Java Basics - Anfänger-Themen 2
G Tastenfunktion ohne Fokus? Java Basics - Anfänger-Themen 4
B Fokus für JFrame Java Basics - Anfänger-Themen 5
hdi keylistener hat keinen fokus oder: listener ohne frame? Java Basics - Anfänger-Themen 10
E keyListener(Fokus?) H I L F E Java Basics - Anfänger-Themen 2
M Fokus mit Maus und Tastatur Java Basics - Anfänger-Themen 5
D Fokus ohne anklicken? Java Basics - Anfänger-Themen 4
A Fokus erhalten Java Basics - Anfänger-Themen 3
B Fokus auf ein Textfeld setzen? Wie? Java Basics - Anfänger-Themen 8
H Fokus auf jTextfield setzten Java Basics - Anfänger-Themen 2
D Fokus-Problem mit KeyListener Java Basics - Anfänger-Themen 2
L GUI - Tastaturereignisse abfangen ohne Fokus? Java Basics - Anfänger-Themen 8
D Problem mit dem Fokus Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben