2 Probleme - Datum & private finale Variablen

Elethier100

Mitglied
Hallo,

ich bin mittlerweile kurz vor dem Ende meines Projektes und habe noch 2 Probleme. Thema allgemein ist erst einmal ein Urlaubsantrag.

Das Anfangs- und Enddatum kann man sich über das PlugIn JCalendar auswählen. Und wenn man das ausgewählt hat soll in einem Textfeld die Anzahl an Tagen erscheinen. Hier mein Code: Da mecker er natürlich bei "txtTAge.setText", weil er dort einen String erwartet, aber mein Ergebnis ein Long wert ist.
Java:
    public void differenz() {
    Date dt =  getDateVon();
    Date dt2 = DateBis();
    long ergebnis = ((dt2.getTime() - dt.getTime()) / 1000 / 60 / 60 / 24);
    System.out.println(ergebnis);
    txtTage.setText(ergebnis);
    }

Mein 2. Problem:
Wenn der Urlaubsantrag abgeschickt wurde, soll in einer anderen Klasse ein bestimmtes Textfeld um 1 erhöht werden. Es ist ein Textfeld, wo steht wie viele Urlaubsanträge noch offen sind. Problem: Ich habe diese Klasse nicht gschrieben und dort sind die Textfelder etc. als private Final deklariert worden. Wie kann ich jetzt von meiner Klasse aus auf diese Textfelder zugreifen, so dass beim drücken meines Buttons in der anderen Klasse dann das Textfeld um 1 erhöht wird?

Vielen Dank schon einmal 🙂
 
1. Problem:
String text = String.valueOf(longValue);

2. Problem:
Dann kannst du erstmal nur schauen ob der Programmierer für das besagte Textfeld einen Getter bereit gestellt hat. Dann könntest du über diesen Getter das Textfeld holen und darüber mittels setText(String) den Wert erhöhen.
 
Problem 1 ist gelöst. Rest bekomme ich hin.

Problem 2 kann ich nachher ausprobieren, aber an die getter Methode dort zu kommen, sollte kein Problem sein. Vielen Dank! 🙂
 
Eine Frage habe ich noch. 1. Problem habe ich zwar hinbekommen, würde es aber schöner machen. Es gibt doch bestimmt einen Listener oder ein Event, dass überprüft, wann ich ein bestimmtes Textfeld verlasse, oder? Ich würde das nämlich gerne so machen: Wenn ich das Enddatum ausgewählt habe, dass er dann in das Textfeld "Tage" die Anzahl der Tage schreibt
 
Habe es jetzt mit einem MouseListener probiert, aber da tut sich irgendwie nichts.

Code, um die Differenz der Tage zu berechnen:
Java:
public void differenz() {
    Date dt =  getDateVon();
    Date dt2 = DateBis();
    long ergebnis = ((dt2.getTime() - dt.getTime()) / 1000 / 60 / 60 / 24);
    System.out.println(ergebnis);
    String TxtTage = String.valueOf(ergebnis);
    txtTage.setText(TxtTage);
    }

MouseListener. Da war mein Ziel, sobald das Feld des Enddatums verlassen wird, soll die Funktion ausgeführt werden.
Java:
  public void mouseExited(MouseEvent e) {
          differenz();
      }

MouseListener dem Enddatum Feld hinzufügen:
Java:
        dateBis.addMouseListener(this);

Alle anderen MouseListener habe ich natürlich auch implementiert, auch wenn sie nicht benötigt werden.
 

Neue Themen


Zurück
Oben