Ergebnis 1 bis 9 von 9

Thema: Java - Variablen übergeben.

  1. #1

    Users Awaiting Email Confirmation

    Java - Variablen übergeben.

    Hallo, ich bin gerade dabei ein kleines Programm mit Java zu schreiben und stoße auf ein kleines Problem:

    Ich habe meine Hauptapplikation,
    die wird mit der Konstruktorklasse geöffnet etc.
    Gleich beim Start kommt aber ein weiteres Fenster, wo man ein paar Parameter eingeben kann.
    Dieses weitere Fenster ist also in der Hauptklasse erzeugt worden.

    Wie hole ich nun die in Fenster 2 eingegeben Parameter in Klasse 1?

  2. #2
    Was meinst du konkret? Ich versteh nicht, was du möchtest.

    Du hast eine Hauptklasse, die wohl die main()-Methode besitzt, oder?
    Was du aber mit Fenster meinst, ist mir ein Rätsel. Vorallem, wieso zwei Fenster? Was macht denn die main()-Methode?

  3. #3

    Users Awaiting Email Confirmation

    Sorry für Doppelpost:

    Bin dabei nen kleines Menü zu basteln und so.

    Ich habe eine Zahl, die angibt wieviele Menüeinträge ich hab.
    Und diese Menüeinträge brauchen X und Y Koordinaten.


    Ich hab also einmal
    Code:
    byte anzahl[] = new byte[amount];
    Das ist der Array der angibt wieviele Menüeinträge ich habe (amount kommt vorher aus dem oben genannten 2. Fenster)
    Wie füge ich jetzt jedem einzelnen Menüpunkt X und Y Koordinaten mittels Array hinzu...

  4. #4
    Zitat Zitat von Engel der Furcht Beitrag anzeigen
    Wie füge ich jetzt jedem einzelnen Menüpunkt X und Y Koordinaten mittels Array hinzu...
    Gar nicht.
    Das ein Byte-Array. Also ein Array mit Bytes. Da kannst du keine zwei Werte speichern.
    Es sei denn, du willst mit Bit-Operatoren arbeiten, was aber wenig Sinn macht.

    Du müsstest also eine Klasse erstellen, die zwei Werte speichert und dann das Array mit Instanzen dieser Klasse füllen.

  5. #5
    Java ist ein Objekt-orientierte Sprache. Du solltest dort nach Möglichkeit für sowas nicht allein mit den primitiven Datentypen arbeiten.
    Das wird später auch schwer zu erweitern. Was ist z.B. wenn du auch die Namen deiner Menüpunkte abspeichern willst? Bilder? Sounds?

    Nimm lieber so etwas hier:

    Code (java):
     
    class MenuEntry{
       private int x;
       private int y;
     
       public MenuEntry(int x, int y){
          this.x = x;
          this.y = y;
       }
     
       public void setX(int x){
          this.x = x;
       }
     
       public void setY(int y){
          this.y = y;
       }
     
       public int getY(){
          return y;
       }
     
       public int getX(){
          return x;
       }
    }
     


    Das wäre das Basis-Skelett für eine simple Klasse mit zwei Feldern. Diese kannst du beliebig um weitere Felder wie Namen und anderes erweitern.
    Ein Array kannst du dann einfach mit instanziierten Objekten füllen.

    Code (java):
     
       MenuEntry[] menuEntrys = new MenuEntry[10];
       MenuEntry entry = new MenuEntry(10,200);
       menuEntrys[0] = entry;
     


    Natürlich kannst du dafür lieber eine Schleife nutzen. Das hier ist nur zur Veranschaulichung.

  6. #6
    Statt eines Arrays würd ich auch eine Arraylist nehmen. Hat den Vorteil, dass man sie dynamisch erweitern kann.

  7. #7
    Zitat Zitat von Whiz-zarD Beitrag anzeigen
    Statt eines Arrays würd ich auch eine Arraylist nehmen. Hat den Vorteil, dass man sie dynamisch erweitern kann.
    Ist schon richtig. In das Beispiel aber noch Collections evtl. mit Generics rein zu nehmen wäre irgendwie ein ziemlicher Overkill geworden.

  8. #8
    Hallo,
    ich will auch mal versuchen zu helfen

    Zitat Zitat
    Ich habe meine Hauptapplikation,
    die wird mit der Konstruktorklasse geöffnet etc.
    Gleich beim Start kommt aber ein weiteres Fenster, wo man ein paar Parameter eingeben kann.
    Dieses weitere Fenster ist also in der Hauptklasse erzeugt worden.

    Wie hole ich nun die in Fenster 2 eingegeben Parameter in Klasse 1?
    Ich bin mir sicher, ob ich den Aufbau deines Projekts ganz verstanden hab, aber du willst doch einen Parameter deiner Konstruktorklasse mitgeben, oder? Das machst du wie bei allen Methoden etc.
    Code:
    public Konstruktorname (parameter) {}
    Zitat Zitat
    Wie füge ich jetzt jedem einzelnen Menüpunkt X und Y Koordinaten mittels Array hinzu...
    Siehe makenshis Antwort. Vielleicht hilft dir auch das hier weiter: http://docs.oracle.com/javase/tutori...ut/visual.html
    Layouts können imho sehr sinnvoll sein, wenn man einfache Menüs bauen will.

  9. #9

    Users Awaiting Email Confirmation

    Ich danke für eure Hilfe

    Bin halt noch ein Anfänger was Java betrifft.
    Ich werd im Laufe des Tages mal versuchen was ich machen kann, vllt klappts hinterher ja. ich verhau sowas meistens D:

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •