Zeitmesser mittels Threads implementieren

Status
Nicht offen für weitere Antworten.
T

Tilo

Gast
Hallo!

Ich habe folgende Aufgabe:

• Wird die Taste ”start” gedrückt, wartet das Programm eine zufällige Zeitspanne zwischen
5 und 15 Sekunden.
• Nach der Wartezeit wird im Statusbereich die Meldung ”Now drücken” angezeigt und
die Zeitmessung gestartet.
• Das Drücken von ”jetzt” stoppt die Zeitmessung, falls diese gestartet wurde und die
benötigte Reaktionszeit wird in Millisekunden ausgegeben.
• Ist die Zeitmessung nicht gestartet worden oder die Zeitmessung überschreitet 10 Sekunden,
wird ’im Statusbereich ”Messung fehlgeschlagen” ausgegeben.
• Das drücken von ”start” initialisiert zu jedem Zeitpunkt den Messvorgang und die
Statusanzeige erneut.

Vor paar Tagen habe ich ein Programm mit der gleichen Funktionalität geschrieben, aber das war eine reine SWING-Anwendug. Mit Start-Taste hab ich aktuelle Zeit (currentTimeMillis()) geholt, dann noch Mal mit der Stop-Taste und schließlich einfach Differenz berechnet. Aber hier soll das irgendwie anders gehen, sonst hat das keien Sinn diese Aufgabe mittels Threads zu implementieren :bahnhof:

Der aktuelle Standpunkt

Code:
class ReaktionMesser
{
	public static void main(String args[])
	{new MyFrame("ReaktionMesser");}
}

class MyFrame extends JFrame implements ActionListener
{
	private int frwidth = 600;
            private int frhight = 200;
	
	private JPanel statusBereich = new JPanel(new GridLayout(1,1));
	private JPanel buttonPanel = new JPanel(new GridLayout(1,2));

	private JButton start = new JButton("Start");
	private JButton now = new JButton("Now!");
  
	private JLabel label = new JLabel("Statusbereich");
	
	Thread thread;

	MyFrame(String s)
	{
		super(s);
    
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		setLocation((d.width-frwidth)/2,(d.height-frhight)/2);
		setSize(frwidth,frhight);
		setDefaultCloseOperation(EXIT_ON_CLOSE);

		getContentPane().setLayout(new BorderLayout());
		getContentPane().add(statusBereich, BorderLayout.CENTER);
		getContentPane().add(buttonPanel, BorderLayout.SOUTH);
    
		statusBereich.add(label);
		label.setHorizontalAlignment(JLabel.CENTER);
		label.setFont(new Font("Serif", Font.BOLD, 50));
    
		buttonPanel.add(start);start.addActionListener(this);start.setActionCommand("start");
		buttonPanel.add(now);now.addActionListener(this);now.setActionCommand("now"); 
		now.setEnabled(false);

		setVisible(true);
	}
	
	public void messungAktivieren()
	{
		label.setText("Now drücken!");
		now.setEnabled(true);
	}
  
	public void actionPerformed(ActionEvent e)
	{
		if(e.getActionCommand().equals("start"))
			{
				//System.out.println("Start wurde gedrückt");
				thread = new ZeitMesser(this);
				thread.start();
				label.setText("Bist du bereit?");
			}
		if(e.getActionCommand().equals("now"))
			{
				//System.out.println("Now wurde gedrückt");
			}
	}
}

class ZeitMesser extends Thread
{
	MyFrame jf;	
	ZeitMesser (MyFrame jf) {this.jf = jf;}
	
	private int warteZeit;

	public void run ()
	{
		//System.out.println("Thread wartet");
		warteZeit = (int)Math.round(Math.random()*10000)+5000;
		try {Thread.sleep(warteZeit);}
		catch (InterruptedException ex) {}
		//System.out.println("Thread hat "+warteZeit+" Millisekunden gewartet");
		jf.messungAktivieren();
	}
}

Kann mir jemand so grob erklären, wie das weiter geht? :D
 
S

SlaterB

Gast
> Wird die Taste ”start” gedrückt, wartet das Programm eine zufällige Zeitspanne zwischen 5 und 15 Sekunden.

wie hast du das denn ohne Threads gelöst?
hast du einfach in der actionPerformen 15 Sekunden gewartet und die GUI solange blockiert?

-------

> Kann mir jemand so grob erklären, wie das weiter geht?

nun, du kennst das Programm doch? weißt was gewünscht ist und kannst es auch umsetzen, da du es schon mal geschrieben hast,

nur jetzt eine klitzekleine Änderung zum Thread,
warum fragst du da allgemein 'wie es weiter geht'?
wenn du eine konkrete Frage zum Thread hast, dann stelle sie,

ansonsten wie gesagt: du weißt doch was passieren soll



> if(e.getActionCommand().equals("now"))
> {
> //System.out.println("Now wurde gedrückt");
> }

seltsam leer, wo du doch das Programm schon mal geschrieben hast..
 
T

Tilo

Gast
=) Klar war das Programm nicht die gleiche, hab es nicht richtig ausgedrückt. Wie gesagt hat es nur Differenz zwieschen zwei Werten berechnet.

Die Frage ist, wie realisiere ich die Zeitmessung? Auch mit currentTimeMillis(), oder gibt es irgendwelche Methode, die ich starten und stoppen kann und die die Zeitspanne zwieschen start und stop zurückliefert?
 
S

SlaterB

Gast
selbst wenn es das gäbe,
2x System. currentTimeMillis() tun es auch, falls es auf +- 50 ms nicht ankommt,
mit System.nanoTime() gehts noch genauer

Differenz mit - (Minus-Zeichen ;) )
 
T

Tilo

Gast
Dann noch eine Frage - Wenn Start gedrückt wird, wird jedes Mal ein neues Thread gestarten. Wie stoppe ich den vorherigen?

Mit thread.stop() geht das irgendwie nicht
 
S

SlaterB

Gast
vielleicht interrupt(), notify() oder was es da noch an Operationen gibt,
sind ja nicht so viele, als dass man sie nicht ausprobieren könnte ;)

ist zum Teil aber nicht ganz leicht (Moniort-Zugriff benötigt), also erstmal das Kapitel im Lehrbuch dazu lesen

---------

aber der Thread stört ja auch nicht,
setze im Thread-Objekt eine boolean-Variable
sieSindRaus(),
das geht auch während der Thread schläft, ist ein Objekt wie jedes andere auch,

lasse den Thread brav seine 10 Sek. zu Ende warten und bevor es dann weitergeht
prüft der Thread, ob er überhaupt noch erwünscht ist
 
S

SlaterB

Gast
andere Möglichkeit: den Thread weiterverwenden,
neue Zeit berechnen und im Thread als neueste Zeit speichern (mit Startzeit usw)

wenn der Thread erwacht, schaut er nach, ob er weiterschlafen soll oder es geht sofort los,

wenn der Thread länger als die neue Zeit schläft, ist das ok,
sind ja alles Zufallszeiten, kein Problem wenn die erste Zufallszeit genommen wird
 
G

Guest

Gast
Hab nicht verstanden :autsch:

Das Programm sieht so aus - wenn Start gedrückt wird, wird ein Thread gestartet. Er wartet 5 bis 10 Sekinden, dann speichert er die aktuelle Zeit und ruft eine Methode, die NowButton aktiviert und Meldung "Now Drücken" zeigt.

Dann wartet er noch 10 Sekunden und ruft einen Metode, die Meldung "Messung fehlgeschlagen" zeigt und Now-Button deaktiviert. Das heißt, wenn "Now" gedrückt wird,
Code:
muss
Thread gestoppt werden, damit es zu dieser Meldung nicht kommt.

Es funktioniert zwar mit .stop(), aber biem Compilieren kriege ich folgende Meldung:

Note: ReaktionMesser.java uses or overrides a deprecated API
Note: Recompile with -Xlint:deprecation for details


---


Wenn Start gedrückt wird, muss geprüft werden, ob es nicht bereits ein Thread läuft. Dafür gibt es in in der Klasse, die von Thread erbt, boolische Variable (isRunning) und Methode (getStatus), die den Wert dieser Variable zurückliefert. Aber wenn ich diese Methode verwende, meckert der Compiler

Code:
class ReaktionMesser
{
	public static void main(String args[])
	{new MyFrame("ReaktionMesser");}
}

class MyFrame extends JFrame implements ActionListener
{
	[....]

	private JButton start = new JButton("Start");
	private JButton now = new JButton("Now!");

	private Thread thread;

	private long messungstart, messungende, resultat;

	MyFrame(String s)
	{
                     [......]
	}
	
	public void messungAktivieren(long l)
	{
		label.setText("Now drücken!");
		now.setEnabled(true);
		messungstart = l;
	}
	
	public void messungDeaktivieren()
	{
		label.setText("Messung fehlgeschlagen");
		now.setEnabled(false);
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getActionCommand().equals("start"))
			{
                                       if(thread.getStatus()) 
                                          {thread.stop();}
                                      
			   thread = new ZeitMesser(this);
                                       thread.start();
			   label.setText("Bist du bereit?");
			}

		if(e.getActionCommand().equals("now"))
			{
				messungende = System.currentTimeMillis();
				resultat = messungende - messungstart;

				now.setEnabled(false);
				label.setText("Reaktionszeit: "+resultat+"ms");

				thread.stop();
			}
	}
}

class ZeitMesser extends Thread
{
	MyFrame jf;	
	ZeitMesser (MyFrame jf) {this.jf = jf;}
	
	private int warteZeit;
	private long messungStart;
	
	private boolean isRunning = false;
	public boolean getStatus() {return isRunning;}

	public void run ()
	{
		isRunning = true;
                System.out.println("Thread wurde gestartet. Thread wartet...");
		warteZeit = (int)Math.round(Math.random()*10000)+5000;
		try {Thread.sleep(warteZeit);}
		catch (InterruptedException ex) {}
		System.out.println("Thread hat "+warteZeit+" Millisekund gewartet");

		messungStart = System.currentTimeMillis();
		jf.messungAktivieren(messungStart);
		System.out.println("Zeitmessung gestarten um "+messungStart);

		try {Thread.sleep(10000);}
		catch (InterruptedException ex) {}
                jf.messungDeaktivieren();
	}
}
 
G

Gast

Gast
Also das funktioniert nicht

if(thread.getStatus()) {thread.stop();}
 
S

SlaterB

Gast
> aber biem Compilieren kriege ich folgende Meldung:
dann lieste in der API warum das so ist,
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html

oder am besten eh erstmal die Grundlagen zu Threads..
http://www.galileocomputing.de/open...09_001.htm#mj544b7c1df0f1e2c82ac44e2e42d49034

-------

> Das heißt, wenn "Now" gedrückt wird, muss Thread gestoppt werden, damit es zu dieser Meldung nicht kommt.

muss nicht, kann natürlich, um den Arbeitsfluss einfach zu halten,
aber du kannst da genauso gut wieder die Abwarten-Methode benutzen:
beim drücke von now informierst du den Thread, dass er in die Tonne gehört,
wenn er dann fertig ist mit warten, schaut er ERST, ob er in der Tonne sitzt,
wenn das nicht der Fall ist, DANN kommt die Meldung
 
T

Tilo

Gast
Ja, ich muss mich zuerst mit Thread auseinandersetzen, das Insel-Buch habe ich "zufällig" =) Aber das Programm mus in 2 Stunden fertig und abgegeben sein =)

Mir fehlt nur die Möglichkeit den ThreadStatus abzufragen, also ob ein Thred bereits läuft oder nicht.

Ich deklarire boolean-Variable und die Methode, die ihren Wert zurückliefert

class ZeitMesser implements Runnable
{
private boolean isRunning = false;
....
public boolean getStatus() {return isRunning;}

public void run ()
{
isRunning = true;
...
}
}

Aber wie rufe ich diese Methode aus MyFrame-Klasse?

Mit thread.getStatus() geht es nicht, Compiler sagt, dass diese Methode für Thread nicht definiert ist.
 
S

SlaterB

Gast
> class ZeitMesser extends Thread
oder
> class ZeitMesser implements Runnable
was ist es denn nun?

du brauchst jedenfalls das Objekt vom Typ ZeitMesser ,
dass in einer Variablen vom Typ ZeitMesser gespeichert sein muss,

zeig doch mal wo es wie gespeichert wird..

> private Thread thread;

ist jedenfalls schlecht, du brauchst alternativ oder zusätzlich

private ZeitMesser messer;
 
T

Tilo

Gast
Ist es in meinem Fall so groser Unterschied, ob ich Interface Runnable implementiere, oder von der Klasse Thred erbe?

Das complete Programm

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ReaktionMesser
{
	public static void main(String args[])
	{new MyFrame("ReaktionMesser");}
}

class MyFrame extends JFrame implements ActionListener
{
	private int frwidth = 600;
	private int frhight = 200;
	
	private JPanel statusBereich = new JPanel(new GridLayout(1,1));
	private JPanel buttonPanel = new JPanel(new GridLayout(1,2));

	private JButton start = new JButton("Start");
	private JButton now = new JButton("Now!");
  
	private JLabel label = new JLabel("Statusbereich");

>>>>> private Thread thread = new Thread(new ZeitMesser(this));

	private long messungstart, messungende, resultat;

	MyFrame(String s)
	{
		super(s);
    
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		setLocation((d.width-frwidth)/2,(d.height-frhight)/2);
		setSize(frwidth,frhight);
		setDefaultCloseOperation(EXIT_ON_CLOSE);

		getContentPane().setLayout(new BorderLayout());
		getContentPane().add(statusBereich, BorderLayout.CENTER);
		getContentPane().add(buttonPanel, BorderLayout.SOUTH);
    
		statusBereich.add(label);
		label.setHorizontalAlignment(JLabel.CENTER);
		label.setFont(new Font("Serif", Font.BOLD, 50));
    
		buttonPanel.add(start);start.addActionListener(this);start.setActionCommand("start");
		buttonPanel.add(now);now.addActionListener(this);now.setActionCommand("now"); 
		now.setEnabled(false);

		setVisible(true);
	}
	
	public void messungAktivieren(long l)
	{
		label.setText("Now drücken!");
		now.setEnabled(true);
		messungstart = l;
	}
	
	public void messungDeaktivieren()
	{
		label.setText("Messung fehlgeschlagen");
		now.setEnabled(false);
		//start.setEnabled(true);
	}

	public void actionPerformed(ActionEvent e)
	{
		if(e.getActionCommand().equals("start"))
			{
				thread = new Thread(new ZeitMesser(this));
                thread.start();
				label.setText("Bist du bereit?");
			}
		if(e.getActionCommand().equals("now"))
			{
>>>>>>>>>>>>>>>>>>>>> if(thread.gerStatus()) {thread.stop();}
				messungende = System.currentTimeMillis();
				resultat = messungende - messungstart;
				now.setEnabled(false);
				label.setText("Reaktionszeit: "+resultat+"ms");
				//start.setEnabled(true);
				thread.stop();
			}
	}
}

class ZeitMesser implements Runnable
{
>>>>> private boolean isRunning = false;
	
	private MyFrame jf;
	private int warteZeit;
	private long messungStart;
	
	ZeitMesser (MyFrame jf)	{this.jf = jf;}
	
>>>>>public boolean getStatus() {return isRunning;}

	public void run ()
	{
>>>>>>>>>>>isRunning=true;
		
		warteZeit = (int)Math.round(Math.random()*10000)+5000;
		try {Thread.sleep(warteZeit);}
		catch (InterruptedException ex) {}

		messungStart = System.currentTimeMillis();
		jf.messungAktivieren(messungStart);
		
		try {Thread.sleep(10000);}
		catch (InterruptedException ex) {}
        jf.messungDeaktivieren();        
	}
}
[/code]
 
G

Gast

Gast
if(thread.gerStatus()) {thread.stop();} - steht natürlich in actionPerformed unter "Start", nicht unter "Now"
 
S

SlaterB

Gast
durchaus ein Unterschied,
wenn du von Thread erbst, dann IST der Thread das Zeitmesser-Objekt,
bei Runnable sind es zwei verschiede,

mache also
private Thread thread;
private Zeitmesser messer;

Konstruktor {
messer = new ZeitMesser(this);
thread = new Thread(messer);
 
T

Tilo

Gast
Es funktioniert :applaus: :applaus:


Code:
class MyFrame extends JFrame implements ActionListener
{
            ...............

            private ZeitMesser messer = new ZeitMesser(this);
	private Thread thread; 

            ..................
	
	public void actionPerformed(ActionEvent e)
	{
		if(e.getActionCommand().equals("start"))
			{
				if(messer.getStatus()) {thread.stop();}

				messer = new ZeitMesser(this); 
				thread = new Thread(messer);

                                                thread.start();
				label.setText("Bist du bereit?");
				now.setEnabled(false);
			}

           ................
	}
}

class ZeitMesser implements Runnable
{
	

private boolean isRunning = false;
	
	public boolean getStatus() {return isRunning;}

	public void run ()
	{
		isRunning=true;
		System.out.println("Thread wurde gestartet. Thread wartet...");
		warteZeit = (int)Math.round(Math.random()*10000)+5000;
		try {Thread.sleep(warteZeit);}
		catch (InterruptedException ex) {}

		messungStart = System.currentTimeMillis();
		jf.messungAktivieren(messungStart);
		System.out.println("Messung startet");
		
		try {Thread.sleep(10000);}
		catch (InterruptedException ex) {}
        jf.messungDeaktivieren();
		System.out.println("fehlgeschlagen");
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
B Race Condition mittels Semaphore verhindern Java Basics - Anfänger-Themen 13
B Dom Manipulationen mittels Java Java Basics - Anfänger-Themen 8
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
Poppigescorn Arrayliste Mittels Scanner erweitern Java Basics - Anfänger-Themen 6
TimoN11 Quadratwurzel mittels Funktionswert der Quadratfunktion Java Basics - Anfänger-Themen 9
Khaled-Abo Ziffern unterscheiden mittels einer For-Schleife Java Basics - Anfänger-Themen 6
L Quadratwurzelrechnung mittels Heron-Verfahren Java Basics - Anfänger-Themen 6
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
V Erste Schritte Potenzen b^n mittels Schleife ermitteln Java Basics - Anfänger-Themen 7
S XML mittels HTTP Get Anfrage Java Basics - Anfänger-Themen 4
W Teilstring durch Teilstring mittels StringBuilder ersetzen Java Basics - Anfänger-Themen 7
P Liste mit Lücken mittels Filter aggregieren Java Basics - Anfänger-Themen 7
M Methoden Mittelwert rationaler Zahlen mittels Methode Java Basics - Anfänger-Themen 4
P Klassen In einer Autoklasse das Objekt Auto mittels Collection Speichern Java Basics - Anfänger-Themen 4
M Fibonacci rekursiv mittels Cache Java Basics - Anfänger-Themen 17
K Methoden Zahlensysteme umwandeln mittels Rekursion Java Basics - Anfänger-Themen 5
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
A JavaScript Object Notation einbinden mittels Maven Java Basics - Anfänger-Themen 7
L Liste mittels Stack implementieren Java Basics - Anfänger-Themen 0
J OOP GUI-Einstellungen mittels Preferences Java Basics - Anfänger-Themen 0
J ComboBox mittels neuer Methode befüllen Java Basics - Anfänger-Themen 3
A Android-Lib: Sourcecode Generator mittels Annotation Processing Java Basics - Anfänger-Themen 0
W Erste Schritte Exceltabelle in Datenbank übertragen mittels XDEV Java Basics - Anfänger-Themen 7
L Histogram mittels Schleifen und Arrays Java Basics - Anfänger-Themen 9
S Klassen Tiefe Kopie mittels Kopierkonstruktor Java Basics - Anfänger-Themen 6
S Columnindex mittels Columnname herrausfinden Java Basics - Anfänger-Themen 6
M Explorer oeffnen mittels java.awt.Desktop Java Basics - Anfänger-Themen 18
Dogge URL-Ausgabe/Verarbeitungsproblem mittels einer Applikation Java Basics - Anfänger-Themen 2
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S Dateien mittels Path(s) kopieren und umbenennen. Java Basics - Anfänger-Themen 4
C Dynamische (AJAX) Inhalte einer Webseite mittels Java auslesen Java Basics - Anfänger-Themen 2
N Mittels For Schleife Klasse erzeugen Java Basics - Anfänger-Themen 32
B Abfrage mittels Variable vereinfachen Java Basics - Anfänger-Themen 6
D Klassen Zeichnen von Figuren mittels vorgegebener Klasse Java Basics - Anfänger-Themen 3
P Collatz-Folge mittels indirekter Rekursion Java Basics - Anfänger-Themen 8
J Wurzelberechnung (mittels Newton) Java Basics - Anfänger-Themen 14
B Lotto mittels TreeSet Java Basics - Anfänger-Themen 3
C Vererbung "extends" umgehen mittels Objekterzeugung?! Java Basics - Anfänger-Themen 29
A String mittels RegEx filtern Java Basics - Anfänger-Themen 13
U E-Mails mittels Java senden. Java Basics - Anfänger-Themen 2
J Aufruf von Funktionen in *.jar mittels Eclipse Java Basics - Anfänger-Themen 4
E PHP Datei mittels Java aufrufen? Java Basics - Anfänger-Themen 3
P Collections Queue mittels ArrayList Java Basics - Anfänger-Themen 2
F Substring mittels RegEx ermitteln/ersetzen? Java Basics - Anfänger-Themen 2
R 3 Datumsangaben sortieren mittels Switch Java Basics - Anfänger-Themen 9
J Arraylänge mittels "Array.getLength" bestimmen!? Java Basics - Anfänger-Themen 3
I Ascii Bild mittels Scanner einlesen Java Basics - Anfänger-Themen 9
K OOP Datenkapselung mittels private - length Attribut bei Array Java Basics - Anfänger-Themen 3
M Delphi-DLL mittels JNI aufrufen Java Basics - Anfänger-Themen 11
H .jar Consolenprogramm mittels Doppelklick starten Java Basics - Anfänger-Themen 2
S SQL Anweisung mittels PreparedStatement Java Basics - Anfänger-Themen 15
M Additions mittels Rekursion Java Basics - Anfänger-Themen 15
E Array mittels Methode umgekehrt ausgeben Java Basics - Anfänger-Themen 6
Binary.Coder Skalarprodukt mittels long und binärzahlen Java Basics - Anfänger-Themen 5
M Auf Java (Desktop) Applikation mittels Webseite zugreifen Java Basics - Anfänger-Themen 6
W Suche nach strings zwischen eckigen Klammern mittels regulärer Ausdrücke Java Basics - Anfänger-Themen 3
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
R JTextField mittels JButton in Konsole ausgeben Java Basics - Anfänger-Themen 2
Z Terminkalender mittels Klassen und Feldern Java Basics - Anfänger-Themen 2
M Benutzer löschen mittels Netbeans Java Basics - Anfänger-Themen 4
I (fremde) IP mittels Applet auslesen Java Basics - Anfänger-Themen 6
G Mittels Runtime prüfen ob ein Programm läuft? Java Basics - Anfänger-Themen 18
M MenuShortcut nur mittels Shift+Taste Java Basics - Anfänger-Themen 3
N einbinden von anderen klassen mittels import Java Basics - Anfänger-Themen 2
M Datei speichern mittels InputStream Java Basics - Anfänger-Themen 13
G Navigations mittels Applet Java Basics - Anfänger-Themen 3
M ArrayList sortieren mittels Comparator Java Basics - Anfänger-Themen 10
C Lösung einer Aufgabe mittels Iteration und Rekursion Java Basics - Anfänger-Themen 12
T Zugriff auf umgebendes Objekt mittels Objekt innerer Klasse Java Basics - Anfänger-Themen 2
K Java-Programm mittels Shell-Skript aufrufen Java Basics - Anfänger-Themen 3
L Vorhandene SVG mittels Batik anzeigen Java Basics - Anfänger-Themen 8
K Datum mittels Thread aktualisieren Java Basics - Anfänger-Themen 6
G mittels Parameter Variable identifizieren Java Basics - Anfänger-Themen 6
V Mittels Java Pfeile erstellen Java Basics - Anfänger-Themen 3
J mehrere JCheckBoxen mittels Schleife abfragen Java Basics - Anfänger-Themen 13
T Erstellen eines Steuerprogramms mittels if-anweisungen Java Basics - Anfänger-Themen 10
R Vector nach Teilzeichenkette durchsuchen (mittels regex) Java Basics - Anfänger-Themen 5
G Mittels RegExp "Variablen" extrahieren Java Basics - Anfänger-Themen 4
T Fernsteuerung mittels Sockets (Architektur okay?) Java Basics - Anfänger-Themen 4
H Subtraktion mittels Negierung auf Addition zurückführen Java Basics - Anfänger-Themen 4
G Objekte mittels Schleife anlegen und ansprechen Java Basics - Anfänger-Themen 8
A Programm mittels Konsole öffnen Java Basics - Anfänger-Themen 12
B Querverweise auf eine Hilfedatei mittels ?Button? Java Basics - Anfänger-Themen 4
E Methodenaufruf mittels variable? kA Java Basics - Anfänger-Themen 5
P Collection Vector speichern mittels Serialisierung? Java Basics - Anfänger-Themen 2
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C Threads und Swing Java Basics - Anfänger-Themen 9
berserkerdq2 Wo finde ich in der Java Api die Notation zu Threads bezüglich Synchronized? Java Basics - Anfänger-Themen 14
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
B Monitor als Schranke von Threads Java Basics - Anfänger-Themen 20
W Threads Alphabet Java Basics - Anfänger-Themen 20
H Threads Anfänger Java Basics - Anfänger-Themen 17
1 Threads parallel laufen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben