hm. ( schwer auszudrücken in kurzform.Problem)

Status
Nicht offen für weitere Antworten.

Yourtime

Mitglied
Ich habe ja ein Programm zu schreiben .... einen Vokabeltrainer... ( ich hatte das problem... fenster zu schließen mit buttons.. was ich gelöst habe glückerlicherweise) und jetzt stehe ich vor dem nächsten Problem... habe auch nachgeschaut im forum

Folgendes Problem

Ich will Daten von einer Klasse irgendwo ablegen( zb andere klasse) und eine andere Klasse greift zu. (aber nicht mit der möglichkeit zu speichern)

Zb

Ich habe einen Button --> klickt man auf dem macht er eine Variable auf 1 und schließt das fenster ( Somit auch den Frame + JPanel)
Die Variable(oder Value) soll aber auf 1 bleiben ... bzw DAS PROGRAMM soll weiter hin wissen das diese variable 1 ist.

Also dachte ich vll wenn ich eine NEUE Klasse öffne die Variable dort hineingebe ... und éine andere Klasse kann sich diese dann holen.
(Hier das ganze zum vorstellen in Code)
[Pseudo Code]
Code:
public class1 ex....jpanel
{
    button a;
    int variable=0;
    konstruktor class1(jframe schließen)
    {
        add(a);  
        a.addactionblabla(actionlistener);
        schließen.addwindowblabla(actionlistener);
        }
    actionlistener implements actionblabla,windowblabla
    {
        if(e.getsource()==a)
           {
                variable=1;
                auswegclass = new auswegclass(variable);
                schließen.dispose();
            }
    }    
}     
public auswegclass
{
    int var2=0;
    konstruktor auswegclass(int var1)
    {
        var2=var1;
    }
    konstruktor2 auswegclass()
    {}
    methode int getvar()
    {   
    return var2;
    }
}
public class2 ex... jpanel
{
    int var3;
    JButton test;
    konstruktor class2()
    {
        auswegclass ab= new auswegclass();
        test.setText(""+ab.getvar());
        add(test);
    }
}
[/PSEUDOCODE]

ich habe dann bemerkt das das nicht geht weil er eine neue ´klasse auswegclass geöffnet wird und nicht die selbe
und ich weiss nicht den befehl ... wie ich die selbe klasse benützen kann

dann fiel mit interface ein aber ... naja geht auch nicht nach dem was ich gelesen habe im forum =/

könnt ihr mir helfen ?

mfg.yT
 

Caffè Latte

Bekanntes Mitglied
Hi,

Klassen sind nur Beschreibungen und speichern keine Werte. Die Werte finden sich in Instanzen. Wenn aber in einer Instanz (z.B. deinem JFrame) eine neue Instanz gebildet wird und für die erste Instanz (dein JFrame) keine Referenz mehr existiert (nach dem Schließen des JFrames z.B.), dann kannst du auf die zweite Instanz auch nicht mehr zugreifen (das ist ja im Grunde nichts anderes wie eine Variable). Also musst du die Werte woanders speichern: in einer Datei, einer Datenbank, ...

Nach deinem vorigen Post würde ich dir nahelegen, dich mal mit den Grundlagen der OOP zu befassen. Dies bitte nicht als "böse" auffassen. :)
 

jagdfalke

Bekanntes Mitglied
Ich bin nicht sicher was du meinst. Hast das etwas seltsam beschrieben.
Wennn du die Instanz von der Klasse wiederverwenden willst speichere sie doch in einer Variable der Klasse, nicht in einer von einer Methode:

Code:
public class foo {
   
   private Bar ref;
 
   public foo() {
       ref = new Bar();
   }

}

public class bar {
    ...
}

So kannst du immer auf Bar zugreifen.

mfg
jagdfalke
 

Yourtime

Mitglied
ha habe es selbst herausgefunden... dank unterstützung ...
ich habe eine neue klasse gemacht und sie auf static gesetzt .... dann einfach aufgerufen.

wenn mir jetzt noch schnell sagt wie ich das häckchen mache .. wäre es super ^^
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben