Daten der gesamten Woche anzeigen

TimSkyp

Mitglied
Hallo,

Ich bin grad dabei einen Organizer zu erstellen, der eine Wochenansicht hat und in dem man dann auch Termine eintragen kann.
Ich weiß aber nicht wie ich es machen soll, dass das richtige Datum für jeden Tag der Woche angezeigt wird.
Ich hab bis jetzt nur das aktuelle Datum von heute anzeigen können (aus das bin ich ziemlich schnell gekommen).

Ich würde mich sehr freuen wenn mir wer einen Tipp/Hinweis geben kann wie man die Daten der gesamten aktuellen Woche anzeigen kann.
 

André Uhres

Top Contributor
Hallo TimSkyp,

herzlich willkommen in unserem Java Forum!

Die Methode "getDisplayDays" der Klasse "WeekModel" gibt eine Liste der Daten der gesamten aktuellen Woche zurück.

Die Klasse enthält auch eine "main" Methode. Dort wird an einem Beispiel gezeigt, wie wir "WeekModel" benutzen können:

Java:
/*
 * WeekModel.java
 *
 * This class is used to hold the list of days
 * corresponding to the selected week
 */

import java.text.*;
import java.util.*;

/**
 *
 * @author André Uhres
 */
public class WeekModel {

    //The list of days corresponding to the selected week:
    private List<Day> daysList;
    //This is always the actual calendar date:
    private Date currentDate;
    //The Calendar corresponding to the selected week:
    private Calendar selectedWeek;
    //Working fields:
    private Calendar temp;
    private int daysBefore;

    public WeekModel() {
        //The selected week is set
        //initially to the current calendar week:
        selectedWeek = DateSupport.dateOnlyCalendar();
        currentDate = selectedWeek.getTime();//This ia always the actual calendar date
        temp = DateSupport.dateOnlyCalendar();
        //create the list of days corresponding to the selected week:
        daysList = createDaysList();
    }

    /**
     * @return the Calendar after the next week is selected in the model
     */
    public Calendar nextWeek() {
        selectedWeek.add(Calendar.WEEK_OF_YEAR, 1);
        daysList = createDaysList();
        return selectedWeek;
    }

    /**
     * @return the Calendar after the previous week is selected in the model
     */
    public Calendar previousWeek() {
        selectedWeek.add(Calendar.WEEK_OF_YEAR, -1);
        daysList = createDaysList();
        return selectedWeek;
    }

    /**
     * @return void this week is selected in the model
     */
    public void setWeek(final Date date) {
        selectedWeek.setTime(DateSupport.convertToDateOnly(date));
        daysList = createDaysList();
    }

    /**
     * @return the list of days to be displayed
     */
    public List<Day> getDisplayDays() {
        return daysList;
    }

    //The days list is created each time a new week is selected:
    private List<Day> createDaysList() {
        List<Day> list = new ArrayList<Day>();
        fillDaysCurrent(list);
        return list;
    }

    //Fills the days list with the days of selected week:
    private void fillDaysCurrent(final List<Day> list) {
        temp.setTime(selectedWeek.getTime());
        daysBefore = temp.get(Calendar.DAY_OF_WEEK) - temp.getFirstDayOfWeek();
        if (daysBefore < 0) {//if negative result (DAY_OF_WEEK is before firstDayOfWeek)
            daysBefore += 7;//add one week
        }
        temp.add(Calendar.DATE, -daysBefore);
        for (int i = 0; i < 7; i++) {
            list.add(new Day(temp, currentDate));
            temp.add(Calendar.DATE, 1);
        }
    }

    public void setCurrentDate(final Date currentDate) {
        this.currentDate = currentDate;
    }

    public Calendar getSelectedWeek() {
        return selectedWeek;
    }

    public static void main(final String... args) {
        WeekModel model = new WeekModel();
        List<Day> displayDays = null;

        System.out.println("previous week:");
        model.previousWeek();
        displayDays = model.getDisplayDays();
        for (Day day : displayDays) {
            System.out.println(day + (day.isCurrent() ? " current day" : ""));
        }

        System.out.println("current week:");
        model.nextWeek();
        displayDays = model.getDisplayDays();
        for (Day day : displayDays) {
            System.out.println(day + (day.isCurrent() ? " current day" : ""));
        }
        System.out.println("next week:");
        model.nextWeek();
        displayDays = model.getDisplayDays();
        for (Day day : displayDays) {
            System.out.println(day + (day.isCurrent() ? " current day" : ""));
        }
    }
}

class Day {

    //The individual day number to be displayed
    private int day;
    //Indicates if this day is the actual calendar day
    private boolean current;
    //The Date object corresponding to this day:
    private Date date;
    private final Calendar calendar;
    public static final SimpleDateFormat dfmt = new SimpleDateFormat("E dd/MM/yyyy");

    public Day() {
        this(DateSupport.dateOnlyCalendar(), DateSupport.convertToDateOnly(new Date()));
    }

    public Day(final Calendar calendar, final Date currentDate) {
        this.calendar = DateSupport.dateOnlyCalendar();
        this.calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR));
        this.calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH));
        this.calendar.set(Calendar.DATE, calendar.get(Calendar.DATE));
        day = calendar.get(Calendar.DATE);//The individual day number
        current = calendar.getTime().equals(currentDate);//if this day is the actual calendar day
        date = calendar.getTime();//The Date object corresponding to this day
    }

    /**
     * @return true if this day is the actual calendar day
     */
    public boolean isCurrent() {
        return current;
    }

    /**
     * @return the Date object corresponding to this day
     */
    public Date getDate() {
        return date;
    }

    public Calendar getCalendar() {
        return calendar;
    }

    public int getDay() {
        return day;
    }

    public void setCurrent(final boolean current) {
        this.current = current;
    }

    public void setDate(final Date date) {
        this.date = date;
    }

    public void setDay(final int day) {
        this.day = day;
    }

    /**
     * @return the day string to be displayed
     */
    @Override
    public String toString() {
        return Day.dfmt.format(date);
    }

    @Override
    public boolean equals(final Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Day other = (Day) obj;
        if (this.date != other.date && (this.date == null || !this.date.equals(other.date))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 97 * hash + (this.date != null ? this.date.hashCode() : 0);
        return hash;
    }
}

class DateSupport {

    /**
     * @return a Calendar instance where only the fields YEAR, MONTH and DATE are set
     */
    public static Calendar dateOnlyCalendar() {
        Calendar now = Calendar.getInstance();
        Calendar dateOnly = Calendar.getInstance();
        //We set only YEAR, MONTH and DATE fields (no hour, minute, second, ...).
        //This allows us to see if two dates are equal independantly of other fields.
        dateOnly.clear();
        dateOnly.set(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DATE));
        return dateOnly;
    }

    /**
     * Converts a date into a date with only YEAR, MONTH and DATE fields set
     * (no hour, minute second,...)
     */
    public static Date convertToDateOnly(final Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        Calendar dateOnly = dateOnlyCalendar();
        dateOnly.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE));
        return dateOnly.getTime();
    }
}

Gruß,
André
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JTabel - RowFilter Daten für Berechnung filtern AWT, Swing, JavaFX & SWT 6
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
W Daten von Controller zu Controller übertragen AWT, Swing, JavaFX & SWT 7
D Columns unabhängig voneinander mit Daten füllen JavaFx AWT, Swing, JavaFX & SWT 1
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
T Anbinden der Tabelle an die Daten AWT, Swing, JavaFX & SWT 5
F JavaFX Tabelle mit Daten füllen AWT, Swing, JavaFX & SWT 9
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
B AWT Bot um Daten auf Website einzugeben und die Antwort zu bekommen AWT, Swing, JavaFX & SWT 2
L Daten bearbeiten ohne GUI zu blockieren - daten haltung/zurück geben AWT, Swing, JavaFX & SWT 15
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
ralfb1105 Swing Dynamischer Graph zum anzeigen Perfomance Daten AWT, Swing, JavaFX & SWT 35
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
K TreeTableView (cellFactory) - wie Daten in Spalten einfügen AWT, Swing, JavaFX & SWT 0
A JTable mit Daten füllen AWT, Swing, JavaFX & SWT 1
J TableView Daten werden nicht ausgegeben AWT, Swing, JavaFX & SWT 9
A Swing Wie Daten in der Form speichern? Array oder ArrayList AWT, Swing, JavaFX & SWT 2
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
T JavaFX Model Daten übergeben AWT, Swing, JavaFX & SWT 4
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
J JavaFX Tableview Daten hinzufügen aus anderer Klasse AWT, Swing, JavaFX & SWT 7
J Tableview Daten hinzufügen und aktualisieren AWT, Swing, JavaFX & SWT 5
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
S JavaFX (Best Practise) Daten zwischen Controllern austauschen AWT, Swing, JavaFX & SWT 1
thet1983 JavaFX TableView Objekt Daten anzeige AWT, Swing, JavaFX & SWT 2
L JavaFX Verzögerung beim Laden von Daten AWT, Swing, JavaFX & SWT 6
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
Tort-E JavaFX Daten an WebView Komponente AWT, Swing, JavaFX & SWT 1
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
S JTable Daten aus Array AWT, Swing, JavaFX & SWT 9
M Java FX Daten an Controller übergeben AWT, Swing, JavaFX & SWT 3
S JList ist leer, aber DefaultListModel hat die Daten? AWT, Swing, JavaFX & SWT 9
M JavaFX Von FXML-Controllerdatei Daten zurückgeben AWT, Swing, JavaFX & SWT 6
F JavaFX Daten aus Tabelle in ComboBox AWT, Swing, JavaFX & SWT 9
B Swing JTable mit Daten - Reihen-Größe anpassen AWT, Swing, JavaFX & SWT 0
D Applet GWT speichert Daten nicht in Datenbank AWT, Swing, JavaFX & SWT 2
S SWT In Listen den Einträgen Daten zuordnen AWT, Swing, JavaFX & SWT 2
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
F Swing JTable: Daten voreinstellen AWT, Swing, JavaFX & SWT 4
B Daten in eine JTable schreiben AWT, Swing, JavaFX & SWT 3
H Swing JfreeChart aktualisieren - mit daten aus thread AWT, Swing, JavaFX & SWT 3
J valueChanged()-Methode liefert unbrauchbare Daten AWT, Swing, JavaFX & SWT 4
B Datenübergabe zwischen Tabs und Daten speichern AWT, Swing, JavaFX & SWT 2
D SWT TreeViewer: Daten aus Model gelöscht... trotzdem noch im Baum AWT, Swing, JavaFX & SWT 4
D Daten von JDialog an JTable in JFrame übergeben AWT, Swing, JavaFX & SWT 7
O JTable zeigt die alte Daten wieder AWT, Swing, JavaFX & SWT 23
H JTable zeigt keine Daten an AWT, Swing, JavaFX & SWT 5
M Swing Daten von JPanel zu JFrame senden AWT, Swing, JavaFX & SWT 13
C Swing JTable Daten einfügen AWT, Swing, JavaFX & SWT 6
Ollek IndexOutOfBoundsException bei neuen Daten in JTable AWT, Swing, JavaFX & SWT 13
J Swing JTable-Daten Speichern und bei zeilen-änderung beibehalten. AWT, Swing, JavaFX & SWT 6
A Daten umherschieben zwischen zwei Klassen AWT, Swing, JavaFX & SWT 40
L [SWT] Daten und Bilder drucken AWT, Swing, JavaFX & SWT 2
M Trotz richtiger Daten, falsches Bild wird gezeichnet?! AWT, Swing, JavaFX & SWT 4
O JFrame: Daten alle paar Sekunden aktualisieren AWT, Swing, JavaFX & SWT 3
C Daten aus DB -> JTable aktualisieren klappt nicht AWT, Swing, JavaFX & SWT 16
A Swing(Daten zugreifen) AWT, Swing, JavaFX & SWT 25
S JComboBox - veränderliche Daten AWT, Swing, JavaFX & SWT 6
T Daten mittels ComboBox in ein JTable adden AWT, Swing, JavaFX & SWT 7
Ollek Realisierung: JTable zur Laufzeit mit neuen Daten füllen AWT, Swing, JavaFX & SWT 3
GianaSisters Swing jTable Daten unsichtbar AWT, Swing, JavaFX & SWT 12
T JTree Daten in DB schreiben am besten SQL AWT, Swing, JavaFX & SWT 21
W Daten auf Textfeld in anderer Klasse verwenden AWT, Swing, JavaFX & SWT 4
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
H JList zeigt die Daten aus dem Array nicht an! AWT, Swing, JavaFX & SWT 13
E Daten von JDialog nach JFrame übertragen AWT, Swing, JavaFX & SWT 4
K TableModel mit Daten aus Datenbank füllen AWT, Swing, JavaFX & SWT 7
M JTree mit eigenen Knoten - Zugriff auf Daten AWT, Swing, JavaFX & SWT 6
L Swing Daten in JTable aktualisieren AWT, Swing, JavaFX & SWT 5
H Swing Tabelle nach Klick auf Button mit Daten füllen? AWT, Swing, JavaFX & SWT 2
B Swing JList Daten löschen AWT, Swing, JavaFX & SWT 13
R Swing XML Datei in JTree, Problem mit Daten einlesen AWT, Swing, JavaFX & SWT 34
A SWT: Daten in Raster mit Gitternetzlinien darstellen AWT, Swing, JavaFX & SWT 7
C Swing JTextField-Daten über mehrere Dialoge AWT, Swing, JavaFX & SWT 18
K TableModel Daten übergeben AWT, Swing, JavaFX & SWT 9
Milady Swing Änderung von Daten mit sql AWT, Swing, JavaFX & SWT 2
J Daten aus einer Textdatei in ArrayList holen AWT, Swing, JavaFX & SWT 9
X Swing Daten aus Vector ins TableModel ?? AWT, Swing, JavaFX & SWT 12
T Swing Liste von Daten anzeigen AWT, Swing, JavaFX & SWT 4
S Swing Daten aus Datenbank in JTable AWT, Swing, JavaFX & SWT 2
E JCombobox mit Daten aus DB füllen AWT, Swing, JavaFX & SWT 9
L Daten werden in JTable nicht angezeigt:( AWT, Swing, JavaFX & SWT 6
Milady Annzeigen alle Daten aus der Tabelle AWT, Swing, JavaFX & SWT 6
P Swing Liste von Daten auf JFrame AWT, Swing, JavaFX & SWT 6
E Daten aus sortierter Tabelle lesen AWT, Swing, JavaFX & SWT 2
X Swing JList -> Daten anders darstellen als im Model hinterlegt -> möglich ? AWT, Swing, JavaFX & SWT 9
X Doppelte Daten in DefaultListModel unterbinden AWT, Swing, JavaFX & SWT 3
ModellbahnerTT SWT Daten zur nächsten WizardPage senden AWT, Swing, JavaFX & SWT 4
J Daten in JTable nach Sortierung auslesen AWT, Swing, JavaFX & SWT 2
hdi Swing JTable & Filtern: Daten nicht in der View AWT, Swing, JavaFX & SWT 2
S JTable Bug - eingegebene Daten werden falsch geparst :( AWT, Swing, JavaFX & SWT 4
L AWT Daten vom Dialog an Frame senden AWT, Swing, JavaFX & SWT 3
hdi Swing JTable: Löschen vom Daten im Model AWT, Swing, JavaFX & SWT 7
U JTable mit Daten aus einer HashMap füllen AWT, Swing, JavaFX & SWT 8
S Swing Bei Klick auf OK Daten übergeben AWT, Swing, JavaFX & SWT 6
A Daten aus einem Frame werden im nächsten nicht gesehen AWT, Swing, JavaFX & SWT 17

Ähnliche Java Themen

Neue Themen


Oben