Hallo Leute
Ich hab hier schon einige Male nützliche Infos gefunden doch jetzt komme ich nicht weiter und hab mich mal registriert um meine Frage direkt zu stellen....
Es wird euch vermutlich extrem trivial vorkommen aber ich bin noch ein ziemlicher Beginner...
Ich habe mir erst vor kurzem das Thema Methoden mehr oder weniger angeeignet und hab mir nun das Multithreading angesehen...
An sich ist das ganze ja kein Problem ich hab schon ein paar einzelne Sachen gebastelt doch nun bin ich verwirrt...
Ich hab ein altes Scherzprogramm das ich vor längerer Zeit mal gebastelt habe wieder rausgeholt weil ich dort über Multithreading noch ein paar Sachen dazumachen wollte...
Das Programm lässt ein Dancing Trollface über den Bildschirm rennen also im Quadrat.
Dazu rufe ich in main die Methode auf die mir das Fenster generiert und im 4-Eck bewegen lässt...soweit sogut...das im 4-Eck rennen erreiche ich durch eine While-Schleife.
Hier mal der QuellCode dazu:
So Jetzt kommt mein Problem...das Bild wird durch JFrame auf einem JLabel dargestellt...dazu habe ich oben extends JFrame (soweit ich weiss hat das was mit Vererbung zu tun oder?) dabei brauche ich ja extends Threads um meine Einzelthreads starten zu können...
Ich hab woanders gelesen das man nicht mehrere Dinge vererben kann. Also was müsste ich machen dass ich meine Methode "Troll" als Thread starten kann?
Vielen Dank schonmal
Ansonsten
LG
DJ
Ich hab hier schon einige Male nützliche Infos gefunden doch jetzt komme ich nicht weiter und hab mich mal registriert um meine Frage direkt zu stellen....
Es wird euch vermutlich extrem trivial vorkommen aber ich bin noch ein ziemlicher Beginner...
Ich habe mir erst vor kurzem das Thema Methoden mehr oder weniger angeeignet und hab mir nun das Multithreading angesehen...
An sich ist das ganze ja kein Problem ich hab schon ein paar einzelne Sachen gebastelt doch nun bin ich verwirrt...
Ich hab ein altes Scherzprogramm das ich vor längerer Zeit mal gebastelt habe wieder rausgeholt weil ich dort über Multithreading noch ein paar Sachen dazumachen wollte...
Das Programm lässt ein Dancing Trollface über den Bildschirm rennen also im Quadrat.
Dazu rufe ich in main die Methode auf die mir das Fenster generiert und im 4-Eck bewegen lässt...soweit sogut...das im 4-Eck rennen erreiche ich durch eine While-Schleife.
Hier mal der QuellCode dazu:
Code:
import com.sun.awt.*;
import javax.swing.*;
import java.awt.*;
import javax.sound.sampled.*;
import java.io.*;
import java.applet.*;
public class Troll extends JFrame {
JLabel label1 = new JLabel(new ImageIcon("trolo.gif"));
public Troll() {
super("Troll");
setUndecorated(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.add(label1);
pack();
setVisible(true);
int i=0;
int j=0;
int speed=10; //Je kleiner je schneller
int x=5;
int counter=0;
Dimension screensize = java.awt.Toolkit.getDefaultToolkit().getScreenSize ();
int width=screensize.width;
int height=screensize.height;
while (counter<100000)
{
while(i<(width-400))
{
i=i+x;
this.setLocation(i,j);
try{Thread.currentThread().sleep(speed);}catch (InterruptedException e){}
}
while(j<(height-400))
{
j=j+x;
this.setLocation(i,j);
try{Thread.currentThread().sleep(speed);}catch (InterruptedException e){}
}
while(i>0)
{
i=i-x;
this.setLocation(i,j);
try{Thread.currentThread().sleep(speed);}catch (InterruptedException e){}
}
while(j>0)
{
j=j-x;
this.setLocation(i,j);
try{Thread.currentThread().sleep(speed);}catch (InterruptedException e){}
}
counter++;
}
System.exit(-1);
}
public static void main(String[] args) {
JOptionPane.showMessageDialog(null,"Ich werde gleichzeitig mit dem Trollface dargestellt");
new Troll();
}
}
So Jetzt kommt mein Problem...das Bild wird durch JFrame auf einem JLabel dargestellt...dazu habe ich oben extends JFrame (soweit ich weiss hat das was mit Vererbung zu tun oder?) dabei brauche ich ja extends Threads um meine Einzelthreads starten zu können...
Ich hab woanders gelesen das man nicht mehrere Dinge vererben kann. Also was müsste ich machen dass ich meine Methode "Troll" als Thread starten kann?
Vielen Dank schonmal
Ansonsten
LG
DJ