Skip to content

Commit 810b5e6

Browse files
committed
Kalender für GUI JavaFX
1 parent 6f8e5bd commit 810b5e6

31 files changed

+1638
-0
lines changed

pt4/Kalender/.classpath

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" path="src"/>
4+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5+
<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
6+
<classpathentry kind="output" path="bin"/>
7+
</classpath>

pt4/Kalender/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/bin/

pt4/Kalender/.project

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>Kalender</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
18+
</buildSpec>
19+
<natures>
20+
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
21+
<nature>org.eclipse.jdt.core.javanature</nature>
22+
</natures>
23+
</projectDescription>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4+
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5+
org.eclipse.jdt.core.compiler.compliance=1.8
6+
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7+
org.eclipse.jdt.core.compiler.debug.localVariable=generate
8+
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11+
org.eclipse.jdt.core.compiler.source=1.8

pt4/Kalender/build.fxbuild

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="ASCII"?>
2+
<anttasks:AntTask xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:anttasks="http://org.eclipse.fx.ide.jdt/1.0" buildDirectory="${project}/build">
3+
<deploy>
4+
<application name="Kalender"/>
5+
<info/>
6+
</deploy>
7+
<signjar/>
8+
</anttasks:AntTask>

pt4/Kalender/src/Sample.fxml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<?import javafx.scene.control.*?>
4+
<?import java.lang.*?>
5+
<?import javafx.scene.layout.*?>
6+
<?import javafx.scene.layout.AnchorPane?>
7+
8+
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
9+
<children>
10+
<Button layoutX="194.0" layoutY="138.0" mnemonicParsing="false" prefHeight="125.0" prefWidth="212.0" text="Button" />
11+
<Button layoutX="492.0" layoutY="227.0" mnemonicParsing="false" text="Button" />
12+
</children>
13+
</Pane>
+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
package application;
2+
3+
import javafx.application.Application;
4+
import javafx.event.ActionEvent;
5+
import javafx.scene.Scene;
6+
import javafx.scene.control.Button;
7+
import javafx.scene.control.Label;
8+
import javafx.scene.layout.BorderPane;
9+
import javafx.scene.layout.FlowPane;
10+
import javafx.scene.layout.Pane;
11+
import javafx.stage.Stage;
12+
import kalender.TerminKalenderImpl;
13+
import kalender.interfaces.TerminKalender;
14+
15+
public class Main extends Application {
16+
public Scene scene1, scene2;
17+
public Pane pane1, pane2;
18+
public Button btnscene1, btnscene2;
19+
public Label lblscene1, lblscene2;
20+
public Stage thestage;
21+
22+
@Override
23+
public void start(Stage primaryStage) {
24+
try {
25+
TerminKalender tk = new TerminKalenderImpl();
26+
BorderPane root = new BorderPane();
27+
Scene scene = new Scene(root, 400, 400);
28+
Button neuerTermin = new Button();
29+
// neuerTermin.setText("Termin hinzufügen");
30+
// neuerTermin.setOnAction();
31+
32+
btnscene1 = new Button("Click to go to Other Scene");
33+
btnscene2 = new Button("Click to go back to First Scene");
34+
btnscene1.setOnAction(e -> ButtonClicked(e));
35+
btnscene2.setOnAction(e -> ButtonClicked(e));
36+
lblscene1 = new Label("Scene 1");
37+
lblscene2 = new Label("Scene 2");
38+
39+
pane1 = new FlowPane();
40+
pane2 = new FlowPane();
41+
((FlowPane) pane1).setVgap(10);
42+
((FlowPane) pane2).setVgap(10);
43+
// set background color of each Pane
44+
pane1.setStyle("-fx-background-color: tan;-fx-padding: 10px;");
45+
pane2.setStyle("-fx-background-color: red;-fx-padding: 10px;");
46+
47+
// add everything to panes
48+
pane1.getChildren().addAll(lblscene1, btnscene1);
49+
pane2.getChildren().addAll(lblscene2, btnscene2);
50+
51+
scene1 = new Scene(pane1, 200, 100);
52+
scene2 = new Scene(pane2, 200, 100);
53+
54+
primaryStage.setTitle("Hello World!");
55+
primaryStage.setScene(scene1);
56+
primaryStage.show();
57+
58+
// scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
59+
// primaryStage.setScene(scene);
60+
// primaryStage.show();
61+
} catch (Exception e) {
62+
e.printStackTrace();
63+
}
64+
}
65+
66+
public void ButtonClicked(ActionEvent e) {
67+
if (e.getSource() == btnscene1)
68+
thestage.setScene(scene2);
69+
else
70+
thestage.setScene(scene1);
71+
}
72+
73+
public static void main(String[] args) {
74+
launch(args);
75+
}
76+
}
77+
78+
/*
79+
* Eintragen eines neuen Termines
80+
*
81+
* tk.eintragen(new TerminImpl("sadasz", new DatumImpl(new TagImpl(2016, 134),
82+
* new UhrzeitImpl()), new DauerImpl(10)))
83+
*
84+
*/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package kalender;
2+
3+
import kalender.interfaces.Tag;
4+
import kalender.interfaces.TerminKalender;
5+
6+
public class Ausprobieren {
7+
8+
public static void main(String[] args) {
9+
TerminKalender tk = new TerminKalenderImpl();
10+
Tag tag = new TagImpl(2016, 300);
11+
12+
// tk.eintragen(new TerminImpl("Test", new DatumImpl(new TagImpl(2016,9,29)),new DauerImpl(3,0)));
13+
System.out.println(tag.toString()); }
14+
15+
}
+134
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
package kalender;
2+
3+
import java.util.Calendar;
4+
import java.util.GregorianCalendar;
5+
import java.util.concurrent.TimeUnit;
6+
7+
import kalender.interfaces.Datum;
8+
import kalender.interfaces.Dauer;
9+
import kalender.interfaces.Monat;
10+
import kalender.interfaces.Tag;
11+
import kalender.interfaces.Uhrzeit;
12+
import kalender.interfaces.Woche;
13+
14+
public class DatumImpl implements Datum {
15+
16+
private Calendar intern;
17+
18+
public DatumImpl(Tag tag) {
19+
this(tag, new UhrzeitImpl());
20+
}
21+
22+
public DatumImpl(Tag tag, Uhrzeit uhrzeit) {
23+
intern.set(tag.getJahr(), tag.getMonat(), tag.getTagImMonat(), uhrzeit.getStunde(), uhrzeit.getMinuten());
24+
}
25+
26+
public DatumImpl(Datum d) {
27+
this(d.getTag(), d.getUhrzeit());
28+
}
29+
30+
private DatumImpl(Calendar intern) {
31+
this.intern = intern;
32+
}
33+
34+
@Override
35+
public int compareTo(Datum o) {
36+
return (o.inBasis().compareTo(this.inBasis()));
37+
}
38+
39+
@Override
40+
public Tag getTag() {
41+
return new TagImpl(intern.get(Calendar.YEAR), intern.get(Calendar.MONTH), intern.get(Calendar.DAY_OF_MONTH));
42+
}
43+
44+
@Override
45+
public Woche getWoche() {
46+
return new WocheImpl(intern.get(Calendar.YEAR), intern.get(Calendar.MONTH), intern.get(Calendar.WEEK_OF_MONTH));
47+
}
48+
49+
@Override
50+
public Monat getMonat() {
51+
return new MonatImpl(intern.get(Calendar.YEAR), intern.get(Calendar.MONTH));
52+
}
53+
54+
@Override
55+
public Uhrzeit getUhrzeit() {
56+
return new UhrzeitImpl(intern.get(Calendar.HOUR_OF_DAY), intern.get(Calendar.MINUTE));
57+
}
58+
59+
@Override
60+
public int getJahr() {
61+
return intern.get(Calendar.YEAR);
62+
}
63+
64+
@Override
65+
public int getTagImMonat() {
66+
return intern.get(Calendar.DAY_OF_MONTH);
67+
}
68+
69+
@Override
70+
public int getTagImJahr() {
71+
return intern.get(Calendar.DAY_OF_YEAR);
72+
}
73+
74+
@Override
75+
public int getWocheImMonat() {
76+
return intern.get(Calendar.WEEK_OF_MONTH);
77+
}
78+
79+
@Override
80+
public int getWocheImJahr() {
81+
return intern.get(Calendar.WEEK_OF_YEAR);
82+
}
83+
84+
@Override
85+
public int getMonatImJahr() {
86+
return intern.get(Calendar.MONTH);
87+
}
88+
89+
@Override
90+
public Datum add(Dauer dauer) {
91+
intern.add(Calendar.MINUTE, dauer.inMinuten());
92+
return this;
93+
}
94+
95+
@Override
96+
public Datum sub(Dauer dauer) {
97+
intern.add(Calendar.MINUTE, -(dauer.inMinuten()));
98+
return this;
99+
}
100+
101+
@Override
102+
public Dauer abstand(Datum d) {
103+
return new DauerImpl((int) TimeUnit.MILLISECONDS.toMinutes(Math.abs(intern.getTimeInMillis()
104+
- (new GregorianCalendar(d.getJahr(), d.getMonatImJahr(), d.getTagImMonat())).getTimeInMillis())));
105+
}
106+
107+
@Override
108+
public long differenzInTagen(Datum d) {
109+
return this.getTag().differenzInTagen(d.getTag());
110+
}
111+
112+
@Override
113+
public int inMinuten() {
114+
return ((int) (intern.getTimeInMillis() / 1000 / 60));
115+
}
116+
117+
@Override
118+
public Calendar inBasis() {
119+
return (Calendar) intern.clone();
120+
}
121+
122+
@Override
123+
public String toString(){
124+
return String.format(this.getTag().toString() + this.getUhrzeit().toString());
125+
}
126+
127+
@Override
128+
public int hashCode() {
129+
final int prime = 31;
130+
int result = 1;
131+
result = prime * result + ((intern == null) ? 0 : intern.hashCode());
132+
return result;
133+
}
134+
}

0 commit comments

Comments
 (0)