Hallo ich habe eine frage zu den Layyoutmanagern.
nehmen wir an wir haben ein fertiges Applet, bei dem nur ein roter ball über das feld geht:
nun möchte ich einige button daneben machen, und so habe ich mich jetz mit layoutmanager befasst.
was ich nun bräuche wäre, so etwas wie einen rahmen, indem ich mein "altes" applet packen könnte.
Ich stell mir das etwa so vor:
ich füge also dass Objakt Zeichenfleche zu, in dem ich dann wieder arbeiten kann, dass heisst dort dann den background festlegen ect. nun zeichne ich nicht mehr auf dem ganzen applet, sondern nur noch in Zeichenfläche.
nun ist meine frage ob es so etwas gibt, und wie dann diese Zeichenfläche wirklich heisst.
hoffe alles verständlich...
nehmen wir an wir haben ein fertiges Applet, bei dem nur ein roter ball über das feld geht:
Java:
import java.applet.*;
import java.awt.*;
public class Ballbewegung1 extends Applet implements Runnable
{
// Initialisierung der Variablen
int x_pos = 10; // x - Position des Balles
int y_pos = 100; // y - Position des Balles
int radius = 20; // Radius des Balles
public void init()
{
setBackground (Color.blue);
}
public void start ()
{
// Schaffen eines neuen Threads, in dem das Spiel läuft
Thread th = new Thread (this);
// Starten des Threads
th.start ();
}
public void stop()
{
}
public void destroy()
{
}
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 (true)
{
// Verändern der x- Koordinate
x_pos ++;
// Neuzeichnen des Applets
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);
}
}
public void paint (Graphics g)
{
g.setColor (Color.red);
g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius);
}
}
nun möchte ich einige button daneben machen, und so habe ich mich jetz mit layoutmanager befasst.
was ich nun bräuche wäre, so etwas wie einen rahmen, indem ich mein "altes" applet packen könnte.
Ich stell mir das etwa so vor:
Java:
import java.applet.*;
import java.awt.*;
public class Ballbewegung1 extends Applet implements Runnable
{
// Initialisierung der Variablen
int x_pos = 10; // x - Position des Balles
int y_pos = 100; // y - Position des Balles
int radius = 20; // Radius des Balles
Zeichenfeld f;
public void init()
{
setLayout(new FlowLayout());
add( new ZeichenFeld(int hight, int breight));
add(new Button("Button1"));
setSize(1000,1000);
f.setBackground (Color.blue);
}
public void start ()
{
// Schaffen eines neuen Threads, in dem das Spiel läuft
Thread th = new Thread (this);
// Starten des Threads
th.start ();
}
public void stop()
{
}
public void destroy()
{
}
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 (true)
{
// Verändern der x- Koordinate
x_pos ++;
// Neuzeichnen des Applets
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);
}
}
public void paint (Graphics g)
{
f.g.setColor (Color.red);
f.g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius);
}
}
nun ist meine frage ob es so etwas gibt, und wie dann diese Zeichenfläche wirklich heisst.
hoffe alles verständlich...