Erstmal danke an alle für die Hinweise, aber nu gehts weiter mit den Threads 
war mein ansatz, dachte eigentlichd as wäre so richtig, allerdings sagt mir der Compiler
in der funtion zahlen() steht immer noch
Danke für eure Hilfe
Hallo,
ich habe mal wieder ein Problem mit der Graphics funktion in Java in verbindung mit AWT.
Wenn ich direkt im konstruktor die funktion zahlen() aufrufe wird sie korrekt aufgerufen, die zufallszahlen ereugt und mit 80 ms verzögerung aufgerufen.
Wenn ich nun aber die Function in den Actionperformed event des buttons ( button1) setzte wird scheint der befehl repaint() ignoriert zu werden.
Es werden zwar auch erfolgreich die zahlen ermittelt, aber der repaint() befehlt wird nur beim letzten Schleifen durchlauf ausgeführt
Wäre dankbar für Hilfe
(Die Bilder findet ihr hier https://www.progam0r.de/klamm/bilder.zip)
PHP:
public void button1ActionPerformed(ActionEvent evt) {
new Thread(new zahlen()).start();
}
und zeigt auf"Error can not find Symbol"
PHP:
new Thread
in der funtion zahlen() steht immer noch
PHP:
public void zahlen(){
Random generator = new Random();
for(int i =0; i<= 10;i++){
try{
Thread.sleep(500);
position1 = generator.nextInt(8);
position2 = generator.nextInt(8);
position3 = generator.nextInt(8);
System.out.println("position1: " + position1);
repaint();
}catch(InterruptedException ie){
}
}
}
Danke für eure Hilfe
Hallo,
ich habe mal wieder ein Problem mit der Graphics funktion in Java in verbindung mit AWT.
Wenn ich direkt im konstruktor die funktion zahlen() aufrufe wird sie korrekt aufgerufen, die zufallszahlen ereugt und mit 80 ms verzögerung aufgerufen.
Wenn ich nun aber die Function in den Actionperformed event des buttons ( button1) setzte wird scheint der befehl repaint() ignoriert zu werden.
Es werden zwar auch erfolgreich die zahlen ermittelt, aber der repaint() befehlt wird nur beim letzten Schleifen durchlauf ausgeführt
Wäre dankbar für Hilfe
(Die Bilder findet ihr hier https://www.progam0r.de/klamm/bilder.zip)
PHP:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Random;
public class sdu extends Frame {
// Anfang Variablen
Image[] im = new Image[8];
int position1;
int position2;
int position3;
private Button button1 = new Button();
// Ende Variablen
public sdu(String title) {
// Frame-Initialisierung
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 902;
int frameHeight = 600;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2 ;
setLocation(x, y);
setLayout(null);
// Bilder Einfügen
im[0] = Toolkit.getDefaultToolkit().createImage( "bild_01.jpg" );
im[1] = Toolkit.getDefaultToolkit().createImage( "bild_02.jpg" );
im[2] = Toolkit.getDefaultToolkit().createImage( "bild_03.jpg" );
im[3] = Toolkit.getDefaultToolkit().createImage( "bild_04.jpg" );
im[4] = Toolkit.getDefaultToolkit().createImage( "bild_05.jpg" );
im[5] = Toolkit.getDefaultToolkit().createImage( "bild_06.jpg" );
im[6] = Toolkit.getDefaultToolkit().createImage( "bild_07.jpg" );
im[7] = Toolkit.getDefaultToolkit().createImage( "bild_08.jpg" );
// Programm Icon in der Titelzeile setzen
setIconImage(im[0]);
// Anfang Komponenten
// Ende Komponenten
button1.setBounds(88, 216, 75, 25);
button1.setLabel("button1");
add(button1);
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
button1ActionPerformed(evt);
}
});
setResizable(false);
setVisible(true);
//////////////////////////////
//////////////////////////////
//////////////////////////////
// Wenn ich hier aufrufe gehts
zahlen();
}
public void zahlen(){
Random generator = new Random();
for(int i =0; i<= 10;i++){
try{
Thread.sleep(500);
position1 = generator.nextInt(8);
position2 = generator.nextInt(8);
position3 = generator.nextInt(8);
///////////////////////////////////
///////////////////////////////////
///////////////////////////////////
// Wird anscheinend bei klick auf den Button ignoriert
repaint();
}catch(InterruptedException ie){
}
}
}
public void paint( Graphics g ) {
g.drawImage(im[position1],50,40,this);
g.drawImage(im[position2],325,40,this);
g.drawImage(im[position3],600,40,this);
}
// Anfang Ereignisprozeduren
// Ende Ereignisprozeduren
public void button1ActionPerformed(ActionEvent evt) {
//////////////////////////////
//////////////////////////////
//////////////////////////////
// wenn ich hier klicke gehts nicht :(
zahlen();
}
public static void main(String[] args) {
new sdu("Slots");
}
}
Zuletzt bearbeitet: