Methode außerhalb der Klasse aufrufen

paradox.

Aktives Mitglied
Guten Morgen,

ich habe ein Programm geschrieben, ohne Oberfläche, sprich ich erhalte die Ausgabe nur über die Konsole. Jetzt hab ich mich an die GUI, mit Hilfe des Window Builder gemacht, nun will ich meinen Programmcode einpflegen.

Hab alles im selben Package, jedoch funktioniert der Zugriff auf die Methoden nicht. Habe alle Methoden jetzt mal auf public gestellt und möcht jetzt eine davon aufrufen, wenn ich auf einen Button auf meiner Oberfläche klicke. Habe dazu einen event handler "action" hinzugefügt und gebe "klassennamen.methodennamen();" im action-block ein. Wenn ich jetzt meinen Button drücke dauert es sehr lange und ich erhalte in der Konsole folgende ausgabe "IOException: java.net.ConnectException: Connection timed out: connect".

Jetzt hab ich mal die Methoden zu meiner Klasse hinzugefügt, wo ich meine GUI erstellt habe, quasi jetzt ist alles in einer Klasse, dann ruf ich die selbe Methode auf, jetzt klappt alles ohne Probleme..

Kann mir jemand bitte weiterhelfen?

Grüße
 
Java:
	JButton btnDatenLaden = new JButton("Laden");
		btnDatenLaden.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
			laden();
			}
		});
		btnDatenLaden.setBounds(170, 71, 140, 23);
		status.add(btnLaden);
Also so funktioniert alles einwandfrei, wenn ich die Methode in der selben Klasse habe.

Java:
	JButton btnDatenLaden = new JButton("Laden");
		btnDatenLaden.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
			Ausfuehren.laden();
			}
		});
		btnDatenLaden.setBounds(170, 71, 140, 23);
		status.add(btnLaden);
So klappts nicht mehr wenn die Methode in einer anderen Klasse ist, dort auf public gesetzt ist und ich diese von meiner Hauptklasse aus aufrufen will.
 
Moin,


Java:
Also so funktioniert alles einwandfrei, wenn ich die Methode in der selben Klasse habe.
[/QUOTE]
klar, weil die Funktion "laden()" dann bekannt ist ....

[quote="paradox., post: 1013874"][code=Java]
[code=Java]
// ...
Ausfuehren.laden();
// ...
So klappts nicht mehr wenn die Methode in einer anderen Klasse ist, dort auf public gesetzt ist und ich diese von meiner Hauptklasse aus aufrufen will
Was ist "Ausfuehren" ???:L
Ist ein solches Objekt wirklich deklariert ???:L

;(

Gruß
Klaus
 
Moin,



klar, weil die Funktion "laden()" dann bekannt ist ....


Was ist "Ausfuehren" ???:L
Ist ein solches Objekt wirklich deklariert ???:L

;(

Gruß
Klaus

So heißt die andere Klasse, in der ich die Methode auf public gesetzt habe.
Ich kann doch Methoden aus anderen Klassen, im selben Package, mit "Klassenname.Methodenname();" aufrufen oder?
 
Moin,

Ist ein solches Objekt denn wirklich deklariert ???:L
Wenn "Ausfuehren" eine eigene Klasse ist, dann MUSST du auch ein entsprechendes Objekt deklarieren, mit dem Du zugreifst !!
Du könntest es theoretisch auch statisch machen, aber dann muss die Deklaration in der Klasse "Ausfuehren" und der Aufruf auch eben entsprechend sein ...

Gruß
Klaus
 
Moin,


Wenn "Ausfuehren" eine eigene Klasse ist, dann MUSST du auch ein entsprechendes Objekt deklarieren, mit dem Du zugreifst !!
Du könntest es theoretisch auch statisch machen, aber dann muss die Deklaration in der Klasse "Ausfuehren" und der Aufruf auch eben entsprechend sein ...

Gruß
Klaus
Ok danke, kannst du mir das vll mit nem kleinen Beispiel veranschaulichen?
 
Moin,


Du wirst doch wohl wissen, wie Du ein Objekt ein klasse deklarierst/instantiierst, oder nicht? 😱
Das sind nun die allerersten Grundlagen ..... :noe:

Java ist auch eine Insel – 6.4 Statische Methoden und Attribute

Gruß
Klaus

Sorry habe bist jetzt meist ohne OOP gearbeitet.. weiß dass ich ein Objekt mit einem Konstruktor erzeuge, aber verstehe gerade auch nicht wie ich jetzt ein Objekt erzeuge und da meine Methode reinbekomme..
 

Zurück
Oben