Hinzufügen von Textfeld zu Graphics in Java

8

Kann jemand JTextField in Grafikname bufferstrategy.getDrawGraphics hinzufügen? Versucht, es in Grafiken zu stempeln, etwa so:

%Vor%

Aber, obwohl es angezeigt wurde, konnte ich es nicht bearbeiten. Selbst das Input.setBounds(800,250, 350,20) hat nicht funktioniert. Diese oben beschriebene Methode wird innerhalb einer Gameloop aufgerufen. Kann mir jemand helfen?

    
null 20.05.2013, 18:55
quelle

1 Antwort

11

Wenn Sie eine Komponente in Graphics malen, wird sie nicht zu einer "Live" -Komponente. Komponenten müssen einem gültigen Container hinzugefügt werden, der an einen nativen Peer angehängt ist, bevor sie live geschaltet werden.

Momentan erstellen Sie nur ein "Stempel" / Bild der Komponente auf der Oberfläche des Grafikkontextes.

Es gibt einige Tricks, da der Malprozess erwartet, dass die Komponente an einen gültigen, nativen Peer angehängt ist.

Zuerst müssen Sie das Feld vorbereiten ...

%Vor%

Dann müssen Sie es malen. Das Feld wird nicht automatisch neu gezeichnet, was wiederum damit zu tun hat, dass das Feld nicht an einen nativen Peer angehängt wurde ...

%Vor%

Wenn Sie eine Lebenskomponente wünschen, müssen Sie die Komponente dem Container hinzufügen. Dies kann problematisch sein, wenn Sie eine Pufferstrategie verwenden ...

Swing-Komponenten sind bereits doppelt gepuffert.

    
MadProgrammer 24.05.2013, 02:30
quelle