nicht übergreifende Variablen bei JFrame

Broki

Mitglied
Hallo,

Mein Problem ist, dass ich gerne in einem JTextField das Aktuelle Datum anzeigen lassen würde.
Jetzt habe ich zwei Klassen 1. Den Code, in dem das JFrame aufgerufen wird und 2. das Framework.
Das Datum soll sofort beim Starten des Programms gezeigt werden.

Das JTextField heißt "andfangsdatum"


Das ist der Code in der 1. Klasse.

Java:
 static void formatDate() { 
        LocalDate date = LocalDate.now(); 
        DateTimeFormatter df; 
//        System.out.println(date);      // 2016-01-31 
//        df = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);      // Sonntag, 31. Januar 2016 
//        df = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);      // 31. Januar 2016 
//        df = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);    // 31.01.2016 
        df = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);     // 31.01.16 
//        System.out.println(date.format(df)); 
         anfangsdatum.setText(date.format(df));


In der 2. Klasse würde ich es halt mit "formatDate();" aufrufen.


Das Problem ist, dass er die Variable/JTextField nicht in die 1. Klasse übernimmt. Er unterstreicht "anfangsdatum" rot. Mit dem Fehler
"cannot find symbol
symbol: variable anfangsdatum
location: class Klasse1"

Ich habe schon alles versucht auf public zu setzen... Habe die Variablen in der Klasse1 deklariert etc. langsam habe ich keine Ahnung mehr was ich ändern muss, dass er sie aus der anderen Klasse erkennt.

Ich hoffe, dass ich es halbwegs verständlich beschrieben habe.
Vielen Dank für die Antworten im Voraus!
(und bitte einfach halten mit den Erklärungen:) bin noch sehr am Anfang^^)
LG Broki
 

melmager

Erfahrenes Mitglied
Also Variablenzugriff von andren Classen ginge mit public.
Allerdings währe es besser Werte über Functionen abzurufen.
Getter / Setter prinzip fliesst da mit ein .

also 1.classe:
Code:
public static String formatDate() {
// dein code
 return date.format(df);
}

aufruf in 2. classe:

Code:
anfangsdatum.setText(classe1.formatDate());

classe1 muss natürlich der 2. classe bekannt sein
 

melmager

Erfahrenes Mitglied
Import ja und dann Zugriff über den Classen Namen da Methode ja static ist.
Code:
import MyDatum;

// snipp

string mydate = MyDatum.formatDatum();
 

Neue Beiträge