funktions Aufruf aus GUI

guguli

Bekanntes Mitglied
Hallo zusammen,
ich möchte aus einer klasse, wodrin die GUI erstellt wird eine function anderer klasse aufrufen.

also meine Klassen sidn wie folgt aufgebaut:


Java:
class A{

private DataInterface mDataInterface;
public class A(DataInterface dataInterface){
this.mDataInterface = dataInterface;
}
public void methodeA() {...}

interface DataInterface {
		public void methodeInterfce();
	}


class B implements A.DataInterface{
public void methodeInterface(){...}
}


class GUI extends JFrame{

public GUI() {

methodeA();
}
public static void main(String[] args) {
		JFrame gui = new GUI();
		gui.show();

	}
}


Also ich möchte die methodeA in der GUI klasse aufrufen. wie kann ich das machen????

THX
 
Zuletzt bearbeitet:
Wenn du nicht weißt, wie man Methoden aus anderen Klassen aufruft, dann solltest du dir DRINGEND ein Tutorial/Buch durchlesen.
 
In dem du in der GUI ein Objekt deiner Klasse A erstellst. (Grundlagen der OOP, sollten schon halbwegs sitzen wenn man sich mit UI auseinandersetzt)
 
Danke erst mal, aber ich weiss wie man eine Methode anderer Klasse aufruft 😉.. es ist ja nicht so als ob ich es nicht ausprobiert hatte.

Java:
class GUI extends JFrame{
 
public A a;

public GUI() {
 a= new A(this);

a.methodeA();
}
public static void main(String[] args) {
		JFrame gui = new GUI();
		gui.show();
 
	}
}

So habe ich es zuerst gemacht, geht aber nicht, dann hab ich this gecastet zu DataInterface, das geht ebenfalls nicht. mein konstruktor in A ist ja überladen, wie soll ich in GUI das machen???

THX
 
Wenn DataInterface ein privates, inneres Interface der Klasse A ist, dann ist es natürlich nach außen nicht sichtbar, und deine Versuche, irgendetwas ausserhalb der Klasse A nach DataInterface zu casten, werden fehlschlagen.
Deine beiden "Anforderungen" a) DataInterface ist private in der Klasse A und b) ein Objekt ausserhalb der Klasse A soll zu DataInterface gecastet werden oder es implementieren, sind unvereinbar (es sei denn, du verwendest Reflection, oder du überdenkst dein gesamtes Design).
 
Ups hab vergessen zu posten 🙂

also jetzt sieht es so aus:
Java:
class A{

public EditDataInterface mEditDataInterface;

	public A(EditDataInterface editDataInterface ) {
		this.mEditDataInterface = editDataInterface;

	}

	public A() {
	}

public void method(){
mEditDataInterface.mehod2();
}
public interface EditDataInterface {

		public void method2();
	}
}

class B implements A.EditDataInterface {
public void method2(){...}
}

class GUI {
A a = new A();

public GUI{
a.method()
}
}
ichkrieb aber wenn ich hier bin mEditDataInterface.mehod2();
eine nullpointerexception🙁

werisst du vllt wieso??

Gruß
 
Zuletzt bearbeitet:
Außerdem muss natürlich das Interface public sein, aber die Instanzvariable die das Interface implementiert, natürlich nicht.
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben