2Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
863
863
EMPFEHLEN
-
06.01.10 12:04 #1
- Registriert seit
- Jan 2010
- Beiträge
- 5
hi Leute...
Ich hab hier ein Problem...ich will in meinem ActionListener eine Klasse aufrufen.
eigentlich müsste das ja funktionieren:
bla = new bla();
aber leider funktioniert es nicht....
Kann mir bitte jmd helfen....
hier ist der actionListener...
public class MultListener implements ActionListener{
public void actionPerformed(ActionEvent b) {
Matrix m= new Matrix();
}
}
und die Klasse Matrix soll aufgerufen werden..aber funktioniert nicht...
bitte help
-
06.01.10 12:40 #2
Moin,
was genau funktioniert nicht - sprich: welche Fehlermeldung bekommst Du denn

BTW: und nutze bitte die Code-Tags !
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
06.01.10 13:07 #3
- Registriert seit
- Jan 2010
- Beiträge
- 5
Ich bekomme keine Fehlermeldung..leider..
Die klasse die ich aufrufe läuft einfach nicht...denn wenn sie laufen würde, würde eine JOptionPane aufgehen....
Code :1 2 3 4 5 6 7
public class MultListener implements ActionListener{ public void actionPerformed(ActionEvent b) { Matrix m = new Matrix(); } }
und hier nochmal die Matrix klasse:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
package wi2; import java.text.SimpleDateFormat; import java.util.Random; import javax.swing.JOptionPane; public class Matrix implements Runnable{ public void run() { try { int n =1000; int i, j,k; //Zufallszahlengenerator Random r = new Random(); //deklaration der Matritzen int a[][] = new int[n][n]; int b[][] = new int[n][n]; int c[][] = new int[n][n]; //Füllen der Matrizen for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { a[i][j] = r.nextInt(); b[i][j] = r.nextInt(); } } System.out.println("START:"); final long startZeit = System.currentTimeMillis(); //Multiplikation der Matritzen for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { for(k = 0; k < n; k++) { c[i][j] += a[i][k] * b[k][j]; } } } long endZeit = System.currentTimeMillis(); long zeit= endZeit - startZeit; SimpleDateFormat sdfTime = new SimpleDateFormat(); sdfTime.applyPattern("mm:ss"); System.out.println("Programmdurchlaufdauer auf Ein Prozessormaschine beträgt:" + " "+zeit+" ms." + "In Minuten : " +sdfTime.format(zeit)); // System.out.println(sdfTime.format(zeit)); } catch (Exception ex){ System.out.println("Fehler beim Ausführen"); } } } class testlauf{ public static void main(String []args){ Runnable threadJob = new Matrix(); Thread meinThread = new Thread(threadJob); meinThread.start(); } }
-
06.01.10 13:09 #4
- Registriert seit
- Jan 2010
- Beiträge
- 5
-
06.01.10 13:41 #5
hmm, da Matrix runnable , dann würde ich doch mal vorschlagen, dass Du (genau wie Deiner Testklasse) den Thread auch wirklich startest
Code java:1 2 3 4 5 6 7 8
public class MultListener implements ActionListener { public void actionPerformed( ActionEvent b ) { Matrix m = new Matrix(); m.run(); // ! ! ! } }
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
06.01.10 13:54 #6
- Registriert seit
- Jan 2010
- Beiträge
- 5
oh mann...
Klar...sowas von logisch oder
Man sollte halt weiterdenken können
(vorallem ich)
Vielen vielen Dank...
-
Oh vorsicht. Ein Thread wird nicht mit run gestartet sondern mit start(). run() ruft nur die run-Methode im selben Thread auf.
-
06.01.10 14:02 #8
- Registriert seit
- Jan 2010
- Beiträge
- 5
ok?
Leider hab ich das jetzt nicht verstanden..wie der name schon sagt...neuling-00..
also sollte ich m.start();?
aber das funktioniert nicht..
in der Matrix Klasse rufe ich in der Main -Methode die start() auf...
läuft das Program nicht als Thread?
-
06.01.10 20:55 #9
Wenn du eine Klasse intialisierst wird der Konstruktor (Methode ohne Rückgabewert mit selben Namen wie Klasse) abgearbeitet. Du hast den Startbefehl aber in eine andere Methode einer anderen Klasse (deren Namen man groß schreibt) geschrieben. Diese wird aber nirgends aufgerufen.
Also entweder schreibst du im ActionListener eben
,Code java:1
new Thread(new Matrix()).start();
oder fügst folgendes am Anfang der Klasse Matrix ein:Code java:1
testlauf.main(null);
und setzt diese final.Code java:1 2 3 4
public Matrix() { new Thread(this).start(); }
Aber warum erbst du nicht gleich von Thread? Kommt auf das selbe raus, nur dass du nicht gleich noch eine Instance anlegen musst.
Ähnliche Themen
-
Java ActionListener aus anderer Klasse erstellen
Von WhiteLie83 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 8Letzter Beitrag: 15.03.10, 20:30 -
Klasse wo aufrufen?
Von snowleopard im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 17.11.09, 00:24 -
ActionListener in extra Klasse auslagern mit Extends?
Von Angiii im Forum JavaAntworten: 9Letzter Beitrag: 09.04.09, 16:48 -
ActionListener ohne Action aufrufen.
Von 115% im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 6Letzter Beitrag: 03.03.08, 16:33 -
Actionlistener auf Button in anderer Klasse
Von NoGi im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 20.02.04, 21:02





Zitieren


Login





