Hallo Leute,
ich habe kein passendes Thema für meine Frage gefunden, weil es sich um etwas spezielles handelt und ich nicht ganz weiterkomme. Ich versuche ein Pong-Spiel für Java zu programmieren, dabei bin ich noch ganz am Anfang.
Im Applet klappt die Bewegung des Balles ganz gut, nur will ich das in einer JFrame machen und da macht repaint() bei mir garnichts. Ich weiß, dass man repaint auf bestimmte Komponenten anwenden muss, nur weiß ich nicht oder komm ich nciht auf das Hauptfenster um alles neu zeichnen zu lassen. Hier mein Code:
[JAVA=42]import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
public class Window extends JFrame implements Runnable{
public Window()
{
setSize(800,500);
setBackground(Color.BLACK);
setForeground(Color.RED);
}
int x = 100;
int y = 200;
int radius = 15;
public void paint(Graphics g)
{
g.setColor(Color.green);
g.fillOval(x, y, radius, radius);
// super.paint(g);
}
public void init() { }
public void start() {
Thread th = new Thread(this);
th.start();
}
public void stop() {
Thread.currentThread().stop();
}
public void run() {
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
while(true)
{
x++;
repaint(); // HIER DRUM GEHTS!!!
try{
Thread.sleep(20);
}
catch(InterruptedException ex){
}
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}
}[/code]
Main.Methode: [JAVA=42] import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Main {
public static void main(String[] args) {
Window t = new Window();
t.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e) {
System.exit( 0);
}
}
);
t.show();
}
}[/code]
ich habe kein passendes Thema für meine Frage gefunden, weil es sich um etwas spezielles handelt und ich nicht ganz weiterkomme. Ich versuche ein Pong-Spiel für Java zu programmieren, dabei bin ich noch ganz am Anfang.
Im Applet klappt die Bewegung des Balles ganz gut, nur will ich das in einer JFrame machen und da macht repaint() bei mir garnichts. Ich weiß, dass man repaint auf bestimmte Komponenten anwenden muss, nur weiß ich nicht oder komm ich nciht auf das Hauptfenster um alles neu zeichnen zu lassen. Hier mein Code:
[JAVA=42]import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
public class Window extends JFrame implements Runnable{
public Window()
{
setSize(800,500);
setBackground(Color.BLACK);
setForeground(Color.RED);
}
int x = 100;
int y = 200;
int radius = 15;
public void paint(Graphics g)
{
g.setColor(Color.green);
g.fillOval(x, y, radius, radius);
// super.paint(g);
}
public void init() { }
public void start() {
Thread th = new Thread(this);
th.start();
}
public void stop() {
Thread.currentThread().stop();
}
public void run() {
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
while(true)
{
x++;
repaint(); // HIER DRUM GEHTS!!!
try{
Thread.sleep(20);
}
catch(InterruptedException ex){
}
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
}
}
}[/code]
Main.Methode: [JAVA=42] import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Main {
public static void main(String[] args) {
Window t = new Window();
t.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e) {
System.exit( 0);
}
}
);
t.show();
}
}[/code]