Kalender -> Termine eintragen

Status
Nicht offen für weitere Antworten.
B

Berger23

Gast
Hallo!

Ich schreibe einen kleinen/simplen Kalender, den man mit Terminen füllen kann. Der Kalender wird schon erstellt, nur die Eintragung der Termine bereitet mir Kopfschmerzen.

Ich habe zwei Tabellen:
1) jTable3: ist der "eigentliche" Kalender -> also in diese Tabelle werden die Tage eingetragen.

2) jTable13: in dieser Tabelle sind die Termine gespeichert.

jetzt will ich die Termine von jTable13 in jTable3 eintragen.

hab mir das folgendermaßen vorgestellt: (Problem wird am Ende erläutert)


Die Methode Kalender erstellt erstmal den Kalender und trägt diesen dann in das jTable3 ein:
Code:
    public void Kalender(int monat, int jahr)
    {
        GregorianCalendar heute = new GregorianCalendar();
        int tagH = heute.get(java.util.Calendar.DAY_OF_MONTH);
        int monatH = heute.get(java.util.Calendar.MONTH);
        int jahrH = heute.get(java.util.Calendar.YEAR);
        
        GregorianCalendar lfDatum = new GregorianCalendar(jahr, monat, 1);
        int aktWochentag = lfDatum.get(Calendar.DAY_OF_WEEK);
        int zl = 0;
        int sp = 0;
        
        if (aktWochentag != Calendar.SUNDAY) {
            for(int tagNo = Calendar.MONDAY; tagNo < aktWochentag; ++tagNo)
                sp = sp + 1;
        }
        else {
            sp = 6;
        }
        
        while(lfDatum.get(Calendar.MONTH) == monat) // monatH
        {
            int tag = lfDatum.get(Calendar.DAY_OF_MONTH);
            
            jTable3.setValueAt(tag, zl, sp);
            
            sp = sp + 1;
            if(aktWochentag == Calendar.SUNDAY) 
            {
                zl = zl + 1;
                sp = 0;
            }
            
            lfDatum.add(Calendar.DAY_OF_MONTH, 1);
            aktWochentag = lfDatum.get(Calendar.DAY_OF_WEEK);
        }
        
        Prufen();
    }



Die Methode Prüfen holt dann die Termine aus dem jTable13 und zerlegt das VON Datum und BIS Datum in Tage und Monate. Die Methode Zerlegen, berechnet die Tage zwischen dem VON und BIS Datum und wird dann der Methode Prüfen übergeben, um die Daten dann in der jTable3 zu suchen:



Code:
    public void Prufen()
    {
        int[] vonTag = new int[100];
        int[] vonMonat = new int[100];
        int[] bisTag = new int[100];
        int[] bisMonat = new int[100];
        String[] end = new String[100];
        
        // Einlesen der Termine aus jTable3
        for(int i = 0; i < jTable13.getRowCount(); i++)
        {//jTable3.getValueAt(zl,sp)==null?"":jTable3.getValueAt(zl,sp)
            System.out.println("AusZelle: " + jTable13.getValueAt(i,2));
            vonTag[i] = jTable13.getValueAt(i,2)==""?00000000000000:Integer.valueOf(jTable13.getValueAt(i, 2).toString().substring(8,10)).intValue();
            vonMonat[i] = jTable13.getValueAt(i,2)==""?00000000000000:Integer.valueOf(jTable13.getValueAt(i, 2).toString().substring(5,7)).intValue();
            //System.out.println("________Tag: " + vonTag[i]);
            
            bisTag[i] = jTable13.getValueAt(i,3)==null?000000000000000:Integer.valueOf(jTable13.getValueAt(i, 3).toString().substring(8,10)).intValue();
            bisMonat[i] = jTable13.getValueAt(i,3)==null?000000000000000:Integer.valueOf(jTable13.getValueAt(i, 3).toString().substring(5,7)).intValue();
        
            end = Zerlegen(vonTag[i], vonMonat[i], bisTag[i], bisMonat[i]);
            for(int r = 0; r < end.length; r++)
                System.out.println("End: " + end[r]);
            // Termin in jTable3 suchen
            String str = "";
            loop1:
            for (int zl = 0; zl < jTable3.getRowCount(); zl++) 
            {
                for (int sp = 0; sp < jTable3.getColumnCount(); sp++) 
                {
                    str = jTable3.getValueAt(zl,sp)==null?"":jTable3.getValueAt(zl,sp).toString(); // Damit keine NullPointerException
                    if(str.equals(end[i]));
                    {
                        jTable3.setValueAt(jTable13.getValueAt(i,0),zl,sp);
                        break loop1;
                    }
                }
            }
            
        } 
    }


Code:
    public String[] Zerlegen(int vonTag2, int vonMonat2, int bisTag2, int bisMonat2)
    {
        String[] daten = new String[100];
        GregorianCalendar d = new GregorianCalendar(2007,vonMonat2,vonTag2);
        GregorianCalendar d2 = new GregorianCalendar(2007,bisMonat2,bisTag2);
        
        Calendar datum1 = Calendar.getInstance(); // Von
        Calendar datum2 = Calendar.getInstance(); // Bis
        
        long von = d.getTimeInMillis();
        long bis = d2.getTimeInMillis();
        
        datum1.setTimeInMillis(von); 
        datum2.setTimeInMillis(bis);
        
        long dayVon = (datum1.get(Calendar.DAY_OF_YEAR)-1);
        long dayBis = (datum2.get(Calendar.DAY_OF_YEAR)-1);
        
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("D", Locale.GERMANY);
        int i = 0;
        while(dayVon < dayBis)
        {

                d.add(Calendar.DAY_OF_MONTH, 1);
                dayVon = dayVon + 1;
                
                daten[i] = String.valueOf(d.DAY_OF_MONTH);
            //System.out.println(String.valueOf(d.DAY_OF_MONTH));
            i = i + 1;
        }
        return daten;
    }



Mein Problem ist jetzt, dass der Termin immer in die erste Zelle geschrieben wird. Wenn es mehrere Termine in jTable13 gibt, dann fügt er immer nur den letzten ein (Wahrscheinlich überschreibt er die erste Zelle einfach nochmal). Außerdem fügt er die Tage zwischen VON und BIS nicht ein.

Ich weiß, dass ich bis jetzt nur die Tage beachte und den Monat nicht berücksichtige. werde ich dann nachtragen wenns mal die tage einfügt.

Ich bekomme auch eine Exception:

Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 10
at java.lang.String.substring(String.java:1935)
at GUIH.Prufen(GUIH.java:4372)
at GUIH.Kalender(GUIH.java:4353)
at GUIH.jButton53ActionPerformed(GUIH.java:2989)
at GUIH.access$4900(GUIH.java:17)
at GUIH$54.actionPerformed(GUIH.java:1718)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
End: null
End: null
End: null
End: null
End: null
End: null
End: null
End: null
End: null
End: null
End: null
End: null
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)



ich wäre sehr dankbar, wenn man mir einige tipps geben könnte!

Lg,

Berger
 
B

Ber23

Gast
hallo,

ich bins nochmal. Hab einen weiteren Fehler gefunden:
und zwar in der methode zerlegen.

GregorianCalendar d = new GregorianCalendar(2007,vonMonat2,vonTag2);

d.add(Calendar.DAY_OF_MONTH, 1); // ist in while schleife

er zählt den tag nicht hoch! was mach ich da falsch???

danke
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Termine in einen kalender eintragen. Java Basics - Anfänger-Themen 11
S Wie Termine/Notizen in Outlook Kalender einfügen ? Java Basics - Anfänger-Themen 3
I Ical4j / Kalender einlesen von URL - Fehler: "Unparseable date" Java Basics - Anfänger-Themen 16
F MS365 Kalender lesen Java Basics - Anfänger-Themen 5
sserio Gregorianischer Kalender und dessen Tage. Java Basics - Anfänger-Themen 14
T simpler Kalender Java Basics - Anfänger-Themen 10
G Kalender Jahreszahlen Java Basics - Anfänger-Themen 6
A Kalender programmieren, ich finde meinen Fehler nicht. Java Basics - Anfänger-Themen 9
J Gerorianischer Kalender wechselt am Freitag die Woche Warum Java Basics - Anfänger-Themen 2
N Kalender - Tag addieren gibt 31. Juni zurück Java Basics - Anfänger-Themen 3
S Hinweis zu Fehler im Kalender-Code - Aufgabe 5.3 aus Grundkurs Programmieren in Java 7. Auflage Java Basics - Anfänger-Themen 4
I c++ sexagesimal kalender Java Basics - Anfänger-Themen 5
I ical - Datei auf Server ablegen und Kalender abbonieren Java Basics - Anfänger-Themen 0
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
U Neu Julianischer Kalender Java Basics - Anfänger-Themen 2
T Kalender irrt sich Java Basics - Anfänger-Themen 8
M Kalender reloaded Java Basics - Anfänger-Themen 7
L Kalender Java Frame Java Basics - Anfänger-Themen 7
M Kalender mit Terminen Java Basics - Anfänger-Themen 24
F Problem mit selbstprogrammierten Kalender (als Übung) Java Basics - Anfänger-Themen 4
J Arrays (Kalender) Fehler im Programm Java Basics - Anfänger-Themen 2
P Date oder Kalender? Was soll man verwenden? Java Basics - Anfänger-Themen 2
K Erste Schritte Kalender selber erstellen? Java Basics - Anfänger-Themen 3
A JKomponente für Kalender Java Basics - Anfänger-Themen 5
R Kalender speichert keine Zeit Java Basics - Anfänger-Themen 2
L einfachen kalender Programmieren HA! Java Basics - Anfänger-Themen 76
M Kalender Java Basics - Anfänger-Themen 15
E Methoden zusammenfassen/Kalender erstellen Java Basics - Anfänger-Themen 13
T Einfacher Kalender Java Basics - Anfänger-Themen 17
G Kalender Bean in Netbean einbinden Java Basics - Anfänger-Themen 3
G Kalender Von String zu boolean -- NullpointerException Java Basics - Anfänger-Themen 2
D Gibt es einen vordefinierten Kalender in java? Java Basics - Anfänger-Themen 8
H Java Kalender systemabhängig programmieren? Java Basics - Anfänger-Themen 3
W Java Kalender Java Basics - Anfänger-Themen 6
B Kalender und Wochentagswechsel Java Basics - Anfänger-Themen 6
G The serializable class Kalender does not declare a static fi Java Basics - Anfänger-Themen 5
A Kalender mit Objekten belegen Java Basics - Anfänger-Themen 3
A kalender Java Basics - Anfänger-Themen 26
J Wie drucke ich eine Komponente wie Kalender auf dem Drucker Java Basics - Anfänger-Themen 3
G Kalender ? Java Basics - Anfänger-Themen 6
S kalender machen Java Basics - Anfänger-Themen 40
G kalender Java Basics - Anfänger-Themen 15
P Kalender Programmieren Java Basics - Anfänger-Themen 2
B Termine (Datum erstellen), Abhängig von Intervallen Java Basics - Anfänger-Themen 0
J Termine über Konsole einlesen Java Basics - Anfänger-Themen 8
S Wie Termine speichern? Java Basics - Anfänger-Themen 3
G Termine mit Java aus Outlook auslesen? Java Basics - Anfänger-Themen 2
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
_0815_ Problem mit dem Automatischen eintragen in Textdateien Java Basics - Anfänger-Themen 1
P Erste Schritte Wert in Liste eintragen Java Basics - Anfänger-Themen 28
J Eintragen von Personen in JTable Java Basics - Anfänger-Themen 4
D Objekte in Liste eintragen Java Basics - Anfänger-Themen 4
S Objekte in ArrayList eintragen und auslesen Java Basics - Anfänger-Themen 7
I Spieler Name eintragen und Random Gewinner Java Basics - Anfänger-Themen 4
O Werte selbst eintragen Java Basics - Anfänger-Themen 9
H Erste Schritte Proxyadressen in Firefox eintragen Java Basics - Anfänger-Themen 2
N Zufallszahl beim Eintragen Java Basics - Anfänger-Themen 2
B eigene klasse in listen eintragen Java Basics - Anfänger-Themen 6
S JDBC MySQL Connector - Element mit ' eintragen? Java Basics - Anfänger-Themen 4
D Letztes Änderungs-Datum als Version automatisch eintragen Java Basics - Anfänger-Themen 5
J Jede Zeile der Textdatei in ListUI eintragen Java Basics - Anfänger-Themen 2
B Zufallszahlen in ein Array eintragen. Java Basics - Anfänger-Themen 7
S Daten in DB eintragen - Methode Sytaxfehler Java Basics - Anfänger-Themen 11
G Eintragen von Werten in die DB Java Basics - Anfänger-Themen 3
Q An erste Stelle in eine Queue eintragen Java Basics - Anfänger-Themen 4
E Apostroph(') in Datenbank eintragen Java Basics - Anfänger-Themen 19
D Datum in DB eintragen Java Basics - Anfänger-Themen 8
F in Registry eintragen Java Basics - Anfänger-Themen 5
H JDBC in den Klassenpfad eintragen Java Basics - Anfänger-Themen 4
D Wie Programm in Autostartordner (Windows) eintragen? Java Basics - Anfänger-Themen 6
Z daten in array eintragen Java Basics - Anfänger-Themen 12
G in eine 2-dimensionale Array eintragen? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben