• 02.05.2024, 13:44
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 10:56

Hello

Wir machen zurzeit einen Kalender in Informatik. Ich habe aber keinen Plan wie ich das in ein Gitter oder so einbringen soll!? ??? Mit den Monaten und den Wochentagen. Monate auf der y Achse, und Wochentage auf der x Achse.
Ich bin nur soweit gekommen, dass er mir berechnet ob es ein Schaltjahr oder nicht ist, allerdings will das bei mir nicht so richtig funktionieren....findet ihr den Fehler? Und Könnt ihr mir sagen was ich machen muss um das ganze in einen grafisch nette Oberfläche zu verpacken, und wie ich die Wochentage passend zu den Monaten, besodners Februar, angebe?

Er sagt mir: Java.lang.NoClassDefFoundError! was bedeutet das?

http://theo.thg.goe.ni.schule.de/~josse1…rgenerator.java

plz help...



MFG Jogibär

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 12:29

Zitat

Er sagt mir: Java.lang.NoClassDefFoundError! was bedeutet das?

Hab ich hier nicht.

Quellcode

1
2
javac Kalendergenerator.java
java Kalendergenerator



Wenn ich nichts eingebe und auf den Button drücke, bekomme ich eine Exception. Daher statt

Quellcode

1
2
eingabe_text = eingabe1.getText();
eingabe = Integer.parseInt(eingabe_text);

besser

Quellcode

1
2
3
4
5
6
try {
    eingabe = Integer.parseInt(eingabe1.getText());
} catch (NumberFormatException e) {
    System.err.println("Es wurde keine Ganzzahl eingegeben.");
    return;
}



Einen hübschen Kalender mit Tabelle zu machen, wird schon etwas umfangreicher/schwieriger. Oder schwebt dir sowas in Textform vor?

Quellcode

1
2
3
4
5
6
7
8
yogi@loplop:~$ cal
    January 2006
Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

In beiden Fällen musst du in einer Schleife alle Tage eines Monats durchlaufen und nach jeweils sieben Tagen eine neue Zeile beginnen. Wenn du dafür auf etwas aus der Java-API zurückgreifst (grad keine Lust zu suchen), erhältst du zu einem Datum bestimmt auch den passenden Wochentag. Machst du das vorher mit dem ersten Tag des Monats schon, kannst du ja ersehen, in welcher Spalte du anfangen musst.

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 12:29

Zitat von »Jogibär«

Er sagt mir: Java.lang.NoClassDefFoundError! was bedeutet das?


no class definition found.
das heißt das er eine klasse nicht finden kann, entweder weil sie garnicht existiert, der name falsch geschrieben ist oder weil sie nicht im classpath ist.

---
grafische oberfläche:
ein kalender-element bietet swing nicht direkt an.
aber wenn man nach "java swing calendar" sucht findet sich schon einiges.

allgemein zu oberflächen in java hilft das swing tutorial sehr gut:
http://java.sun.com/docs/books/tutorial/uiswing/index.html

und speziell für einen kalender finde ich ganz hilfreich:
http://java.sun.com/docs/books/tutorial/uiswing/layout/grid.html

apropos kalender und wochentage usw, da ist java gut ausgestattet.

schau mal in der api: http://java.sun.com/j2se/1.5.0/docs/api/index.html nach:
GregorianCalendar.isLeapYear(int), das sollte schonmal helfen wenn es ums Schaltjahr geht.

Wenn ich das auf die schnelle richtig verstanden habe könnte Calendar.getActualMaximum(Calendar.DAY_OF_MONTH) die anzahl der tage eines monats zurückgeben.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 14:00

ok, vielen Dank leute, werd mich heute nachmittag gleich mal dran setzen :) Wenn ich denn endlich Schule aus hab :-/.....

Das mit Java-API wäre doch etwas kompliziert glaub ich einzubringen, da das über meine geringen Kenntnisse hinausragt :-/
Und ich denk das ist auch nicht das Ziel der Aufgabe ;)

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 14:22

nunja, ich bin programmierer, also faul, da bastel ich nix was es schon fertig gibt. ;)

Quellcode

1
2
3
GregorianCalendar now = new GregorianCalendar();
            boolean leapYear = now.isLeapYear(now.get(Calendar.YEAR));
            System.out.println(leapYear);

ist doch nicht schwer rauszufinden ob das aktuelle jahr ein schaltjahr ist. ;)

genauso für jedes andere datum.

zb um aus deinem eingabefeld ein datum zu erzeugen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
DateFormat df = DateFormat.getInstance();
Date from;

// transform the text form the textfield to a date
String fromDate = eingabe1.getText();
try
{
      from = df.parse(fromDate);
}
catch (ParseException e1) // the user didn't give in a valid date
{
      from = new Date(); // default date equals now
}


nun das ganze in den kalender von eben:

Quellcode

1
2
3
4
GregorianCalendar now = new GregorianCalendar();
now.setTime(from);
boolean leapYear = now.isLeapYear(now.get(Calendar.YEAR));
System.out.println(leapYear);


das machts doch recht einfach, oder seh das nur ich so? ;D
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 14:59

Zitat von »Jogibär«

Das mit Java-API wäre doch etwas kompliziert glaub ich einzubringen, da das über meine geringen Kenntnisse hinausragt :-/
Und ich denk das ist auch nicht das Ziel der Aufgabe ;)

Man kommt gar nicht drum herum, in Java ohne die Benutzung der API zu programmieren... und der AWT-Teil kommt ja auch irgendwo her.

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 15:51

aso, dann hab ich das falsch verstanden ergo fehlt mir das Wissen ::)

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 15:59

Sag mal welchen Editor benutzt du für Java, Yogi? Mein Joe zickt nämlich rum, also zeigt die Compilieren taste ncht an!? In der Schule ging das einwandfrei... ???

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 16:48

Zitat von »Jogibär«

Sag mal welchen Editor benutzt du für Java, Yogi? Mein Joe zickt nämlich rum, also zeigt die Compilieren taste ncht an!? In der Schule ging das einwandfrei... ???

Würd dir zu eclipse raten.
Ist nen sehr guter Editor mit dem ich selbst arbeite

MfG TrOuble

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 18:20

thx :D

P.S. 103MB :o

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 18:45

du musst joe wahrscheinlich erstmal beibringen wo der java compiler ist, entweder über eine umgebungsvariable oder im programm selber, ich kenne den editor nicht.

ich benutze auch eclipse.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 19:38

du hast recht, nur leider finde ich die Dateien die er haben will nicht ???
Habe im Java Programmordner geguckt, und im Java Ordner im Windows Ordner, bei beiden nix zu finden von einer javac oder einer AppletViewer datei. Lediglich den Interpreter hat er selbstständig gefunden java.exe

Habe die ganz normale Java Runtime installiert (java Platform Standard) SDK :P :-[ ???

Re: Kalendergenerator mit Java in GUI

Mittwoch, 11. Januar 2006, 20:42

hast du jetzt runtimer oder sdk installiert?

bei der jre - java runtime edition ist javac usw nicht dabei. nur beim sdk - software development kit.

das ist aber meist in einem anderen ordner installiert als das jre, beide aber eigentlich unter c:/programme/java (wenn es windows ist).

hast du mal über alle dateien auf der festplatte gesucht?
sonst einfach mal neuinstallieren (also das java sdk, nciht windows).
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Re: Kalendergenerator mit Java in GUI

Donnerstag, 12. Januar 2006, 19:02

Zitat

In beiden Fällen musst du in einer Schleife alle Tage eines Monats durchlaufen und nach jeweils sieben Tagen eine neue Zeile beginnen. Wenn du dafür auf etwas aus der Java-API zurückgreifst (grad keine Lust zu suchen), erhältst du zu einem Datum bestimmt auch den passenden Wochentag. Machst du das vorher mit dem ersten Tag des Monats schon, kannst du ja ersehen, in welcher Spalte du anfangen musst.


verdammt, ich hab keine Ahnung wie ich das anstellen soll ???
soll dann jeder Monat eine eigene Schleife haben außer Februar?
Muss das morgen abgeben :-/

Hat nicht jemand Lust und Zeit mir das zu ergänzen? :-X

Re: Kalendergenerator mit Java in GUI

Donnerstag, 12. Januar 2006, 19:19

wie immer: das hat schon jemand gemacht:

http://examples.oreilly.de/german_examples/javacook2ger/

irgendwo in der jar datei gibts ein programm namens CalendarPage, das gibt einen monat nett formatiert aus, bzw gibt anhaltspunkte fürs selberschreiben.

dadrum muss dann nur noch eine schleife über alle monate des jahres.

das beispiel ist übrigens aus dem java-kochbuch:
http://examples.oreilly.de/german_examples/javacook2ger/
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Re: Kalendergenerator mit Java in GUI

Donnerstag, 12. Januar 2006, 22:37

aber das soll ja auch kein gregorianischer Kalender werden :-/
eher in diesem Stil hier:
http://www.hotel-hillesheim.de/kalender.htm

Edit: Habe jetzt Java SDK installiert, allerdings sagt er jedes mal, dass das eingegebene Jahr kein Schaltjahr ist, auch bei 2004, und das ist ein Schaltjahr!? :-/

Re: Kalendergenerator mit Java in GUI

Samstag, 14. Januar 2006, 14:27

Hab noch ne Frage: Wie richte ich ein Hintergrundbild in Java ein? Ist das möglich das mit dem Java Programm zu verknüpfen, ohne das aufs Internet zugegriffen werden muss?
Ansonsten, wie geht es auch wenn er aufs Internet zugreifen muss?

Re: Kalendergenerator mit Java in GUI

Samstag, 14. Januar 2006, 15:44

also wenn du meinst ob man ein bild auf der festplatte einbinden kann: natürlich.

für ein hintergrundbild muss man afaik ein layered pane einbauen:
http://java.sun.com/docs/books/tutorial/…ayeredpane.html
hab ich aber noch nciht ausprobiert.

der gregorianische kalender sollte für unsere breitengrade schon richtig sein, dieser kennt auch das schaltjahr, andere kalender nicht unbedingt.

bei mir gibt dieser codeschnippsel true aus:

Quellcode

1
2
3
GregorianCalendar now = new GregorianCalendar();
             boolean leapYear = now.isLeapYear(2004);
             System.out.println(leapYear);

vielleicht übergibts du da nicht 2004 weil die eingabe nicht richtig geparst wird oder sowas?
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Re: Kalendergenerator mit Java in GUI

Samstag, 14. Januar 2006, 18:38

mhh...gibts da nicht was smarteres?
Also wie bei Buttons oder Txtfeldern.

man kann ja einfach sagen:

Quellcode

1
setBackground(Color.blue);


Dann hab ich im gesamten Fenster einen blauen Hintergrund...

kann man denn da nicht auch einfach ein Bild statt der Farbe verwenden, ohne ein Label hinzufügen zu müssen?

Re: Kalendergenerator mit Java in GUI

Samstag, 14. Januar 2006, 23:39

naja, eine component kann standardmäßig nicht mit images umgehen.

andere methode wäre diese:
http://www.jguru.com/faq/view.jsp?EID=9691
vielleicht einfacher.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.