5 Commits

20 changed files with 117 additions and 114 deletions

View File

@@ -1,4 +1,4 @@
package client; package main;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.fxml.FXML; import javafx.fxml.FXML;

View File

@@ -1,4 +1,4 @@
package client; package main;
public class Launcher { public class Launcher {

View File

@@ -1,8 +1,7 @@
package client; package main;
import javafx.application.Application; import javafx.application.Application;
import javafx.fxml.FXMLLoader; import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.stage.Stage; import javafx.stage.Stage;

View File

@@ -1,4 +1,4 @@
package client; package main;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.event.EventHandler; import javafx.event.EventHandler;
@@ -45,7 +45,7 @@ public class MainController {
} }
@FXML @FXML
public void initialize(){ public void initialize() {
createWeek(); createWeek();
setDates(); setDates();
@@ -53,21 +53,21 @@ public class MainController {
} }
private void updateEvents() { private void updateEvents() {
for(VBox vBox : dayVBoxes){ for (VBox vBox : dayVBoxes) {
vBox.getChildren().clear(); vBox.getChildren().clear();
} }
DataController dataController = new DataController(); DataController dataController = new DataController();
ArrayList<Event> eventList = dataController.getAllVisibleEvents(); ArrayList<Event> eventList = dataController.getAllVisibleEvents();
for(Event event : eventList){ for (Event event : eventList) {
addEvent(event); addEvent(event);
} }
} }
@FXML @FXML
protected void onAddBtnClick(){ protected void onAddBtnClick() {
try{ try {
FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("create-event.fxml")); FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("create-event.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 650, 500); Scene scene = new Scene(fxmlLoader.load(), 650, 500);
scene.getStylesheets().add(Objects.requireNonNull(MainApplication.class.getResource("create-event.css")).toExternalForm()); scene.getStylesheets().add(Objects.requireNonNull(MainApplication.class.getResource("create-event.css")).toExternalForm());
@@ -78,14 +78,13 @@ public class MainController {
stage.setResizable(false); stage.setResizable(false);
//stage.initStyle(StageStyle.UNDECORATED); //stage.initStyle(StageStyle.UNDECORATED);
stage.showAndWait(); stage.showAndWait();
} } catch (IOException e) {
catch (IOException e){
e.printStackTrace(); e.printStackTrace();
} }
updateEvents(); updateEvents();
} }
private void createWeek(){ private void createWeek() {
for (int i = 0; i < 7; i++) { for (int i = 0; i < 7; i++) {
Label label = new Label(); Label label = new Label();
label.setText(dayNames[i]); label.setText(dayNames[i]);
@@ -112,7 +111,7 @@ public class MainController {
} }
} }
private void addEvent(Event event){ private void addEvent(Event event) {
VBox vBox = new VBox(); VBox vBox = new VBox();
vBox.getStyleClass().add("event"); vBox.getStyleClass().add("event");
vBox.setSpacing(5); vBox.setSpacing(5);
@@ -135,8 +134,12 @@ public class MainController {
Label nameLabel = new Label(event.getName()); Label nameLabel = new Label(event.getName());
vBox.getChildren().add(nameLabel); vBox.getChildren().add(nameLabel);
Label timeLabel = new Label(event.getStart() + "-" + event.getEnd()); if (event.getStart() != null || event.getEnd() != null) {
vBox.getChildren().add(timeLabel); String timeStr = (event.getStart() != null ? formatTime(event.getStart()) : "")
+ (event.getEnd() != null ? " - " + formatTime(event.getEnd()) : "");
Label timeLabel = new Label(timeStr);
vBox.getChildren().add(timeLabel);
}
Label typeLabel = new Label("Wer: " + event.getOwnerName()); Label typeLabel = new Label("Wer: " + event.getOwnerName());
vBox.getChildren().add(typeLabel); vBox.getChildren().add(typeLabel);
@@ -150,22 +153,30 @@ public class MainController {
Label prioLabel = new Label("Priorit\u00e4t: " + event.getPriority()); Label prioLabel = new Label("Priorit\u00e4t: " + event.getPriority());
vBox.getChildren().add(prioLabel); vBox.getChildren().add(prioLabel);
if(event.isFullDay()){ if (event.isFullDay()) {
Label fullDayLabel = new Label("Dieser Termin bockiert den ganzen Tag!"); Label fullDayLabel = new Label("Dieser Termin bockiert den ganzen Tag!");
vBox.getChildren().add(fullDayLabel); vBox.getChildren().add(fullDayLabel);
} }
LocalDateTime eventDate = event.getDate(); LocalDateTime eventDate = event.getDate();
int day = (int)Duration.between(weekStartDateTime.toLocalDate().atStartOfDay(), eventDate.toLocalDate().atStartOfDay()).toDays(); int day = (int) Duration.between(weekStartDateTime.toLocalDate().atStartOfDay(), eventDate.toLocalDate().atStartOfDay()).toDays();
if(day >= 0 && day < 7){ if (day >= 0 && day < 7) {
dayVBoxes[day].getChildren().add(vBox); dayVBoxes[day].getChildren().add(vBox);
} }
} }
private void setDates(){ private String formatTime(String time) {
String[] timeArr = time.split(":");
if (timeArr.length > 2) {
return timeArr[0] + ":" + timeArr[1];
}
return time;
}
private void setDates() {
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("LLLL yyyy"); DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("LLLL yyyy");
DateTimeFormatter dayFormatter = DateTimeFormatter.ofPattern("E dd.MM"); DateTimeFormatter dayFormatter = DateTimeFormatter.ofPattern("E dd.MM");
DateTimeFormatter dayOfWeekFormatter = DateTimeFormatter.ofPattern("e"); DateTimeFormatter dayOfWeekFormatter = DateTimeFormatter.ofPattern("e");
@@ -173,7 +184,7 @@ public class MainController {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
int dayOfWeek = Integer.parseInt(dayOfWeekFormatter.format(now)); int dayOfWeek = Integer.parseInt(dayOfWeekFormatter.format(now));
weekStartDateTime = now.minusDays(weekOffset * 7L + dayOfWeek - 1); weekStartDateTime = now.plusDays(weekOffset * 7L - dayOfWeek + 1);
for (int i = 0; i < 7; i++) { for (int i = 0; i < 7; i++) {
dayLabel[i].setText(dayFormatter.format(weekStartDateTime.plusDays(i))); dayLabel[i].setText(dayFormatter.format(weekStartDateTime.plusDays(i)));

View File

@@ -5,7 +5,7 @@
<?import javafx.collections.FXCollections?> <?import javafx.collections.FXCollections?>
<?import java.lang.String?> <?import java.lang.String?>
<GridPane xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1" fx:controller="client.CreateEventController"> <GridPane xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.CreateEventController">
<columnConstraints> <columnConstraints>
<ColumnConstraints/> <ColumnConstraints/>

View File

@@ -0,0 +1,72 @@
* {
-fx-dark-background-color: #525E74;
-fx-darkest-background-color: #2B2D42;
-fx-bright-background-color: #77859E;
-fx-brighter-background-color: #52567E;
-fx-brightest-background-color: #ffffff;
-fx-bright-border-color: #B0B0B0;
-fx-brighter-text-color: #ffffff;
}
.mainGrid{
-fx-background-color: -fx-darkest-background-color;
}
.mainVbox{
-fx-background-color: -fx-dark-background-color;
}
.gridCalendar Line{
-fx-stroke: -fx-bright-border-color;
}
.gridCalender{
-fx-background-color: -fx-darkest-background-color;
-fx-min-height: 80px;
-fx-max-height: 80px;
}
.labelMonth{
-fx-padding: 0 0 0 20;
-fx-background-color: -fx-bright-background-color;
-fx-font-size: 35px;
-fx-font-weight: bold;
}
.scrollDays{
-fx-background-color: -fx-darkest-background-color;
-fx-border-color: -fx-bright-border-color;
}
.vBoxDays{
-fx-background-color: -fx-darkest-background-color;
}
.labelDays{
-fx-alignment: center;
-fx-background-color: -fx-dark-background-color;
-fx-font-size: 25px;
-fx-border-color: -fx-bright-border-color;
}
Label{
-fx-text-fill: -fx-brighter-text-color;
}
.event{
-fx-background-color: -fx-dark-background-color;
}
.mainBtn{
-fx-background-color: -fx-brightest-background-color;
-fx-text-fill: -fx-brighter-text-color;
-fx-background-radius: 5em;
-fx-min-width: 40px;
-fx-min-height: 40px;
-fx-max-width: 40px;
-fx-max-height: 40px;
}

View File

@@ -5,7 +5,8 @@
<?import javafx.scene.image.*?> <?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<GridPane style="-fx-background-color: #424242;" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1" fx:controller="client.MainController"> <GridPane styleClass="mainGrid" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="main.MainController">
<columnConstraints> <columnConstraints>
<ColumnConstraints hgrow="NEVER" maxWidth="60.0" minWidth="60.0" /> <ColumnConstraints hgrow="NEVER" maxWidth="60.0" minWidth="60.0" />
<ColumnConstraints hgrow="ALWAYS" /> <ColumnConstraints hgrow="ALWAYS" />
@@ -13,17 +14,17 @@
<rowConstraints> <rowConstraints>
<RowConstraints vgrow="SOMETIMES" /> <RowConstraints vgrow="SOMETIMES" />
</rowConstraints> </rowConstraints>
<VBox alignment="TOP_CENTER" prefHeight="200.0" prefWidth="100.0" spacing="5.0" style="-fx-background-color: #525E74;"> <VBox styleClass="mainVbox" alignment="TOP_CENTER" prefHeight="200.0" prefWidth="100.0" spacing="5.0">
<ImageView fitHeight="50.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true"> <ImageView fitHeight="50.0" fitWidth="50.0" pickOnBounds="true" preserveRatio="true">
</ImageView> </ImageView>
<Button onAction="#onAddBtnClick" styleClass="main-btn"> <Button onAction="#onAddBtnClick" styleClass="mainBtn">
ADD ADD
</Button> </Button>
<Button onAction="#onAddBtnClick" styleClass="main-btn"> <Button onAction="#onAddBtnClick" styleClass="mainBtn">
ADD ADD
</Button> </Button>
<Button onAction="#onAddBtnClick" styleClass="main-btn"> <Button onAction="#onAddBtnClick" styleClass="mainBtn">
ADD ADD
</Button> </Button>
</VBox> </VBox>
@@ -36,16 +37,19 @@
<RowConstraints /> <RowConstraints />
<RowConstraints vgrow="ALWAYS" /> <RowConstraints vgrow="ALWAYS" />
</rowConstraints> </rowConstraints>
<Label fx:id="LabelMonth" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" styleClass="labelMonth" textFill="WHITE" GridPane.columnIndex="0" GridPane.rowIndex="0"> <Label fx:id="LabelMonth" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308"
styleClass="labelMonth" GridPane.columnIndex="0" GridPane.rowIndex="0">
Monat Monat
<padding> <padding>
<Insets left="5" /> <Insets left="5" />
</padding> </padding>
</Label> </Label>
<GridPane fx:id="calendarGrid" gridLinesVisible="true" styleClass="gridCalendar" GridPane.columnIndex="0" GridPane.rowIndex="1"> <GridPane fx:id="calendarGrid" gridLinesVisible="true" styleClass="gridCalendar"
GridPane.columnIndex="0" GridPane.rowIndex="1">
<columnConstraints> <columnConstraints>
<ColumnConstraints hgrow="ALWAYS" maxWidth="14.2857142857" minWidth="14.2857142857" percentWidth="14.2857142857" /> <ColumnConstraints hgrow="ALWAYS" maxWidth="14.2857142857" minWidth="14.2857142857"
percentWidth="14.2857142857" />
<ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" />
<ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" />
<ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" /> <ColumnConstraints hgrow="ALWAYS" percentWidth="14.2857142857" />
@@ -57,7 +61,6 @@
<RowConstraints maxHeight="55.0" minHeight="25.0" vgrow="NEVER" /> <RowConstraints maxHeight="55.0" minHeight="25.0" vgrow="NEVER" />
<RowConstraints percentHeight="-Infinity" vgrow="ALWAYS" /> <RowConstraints percentHeight="-Infinity" vgrow="ALWAYS" />
</rowConstraints> </rowConstraints>
</GridPane> </GridPane>
</GridPane> </GridPane>
</GridPane> </GridPane>

View File

View File

@@ -1,74 +0,0 @@
* {
-fx-base-background-color: #2B2D42;
-fx-base1-background-color: #525E74;
-fx-main-border-color: #B0B0B0;
-fx-main-text-color: #ffffff;
}
GridPane{
-fx-background-color: -fx-base-background-color;
}
.main-panel{
-fx-background-color: #282C34;
}
.vbox-main{
-fx-background-color: #333333;
-fx-alignment: top-center;
}
.gridCalendar Line{
-fx-stroke: -fx-main-border-color;
}
.gridCalender{
-fx-background-color: -fx-base-background-color;
-fx-min-height: 80px;
-fx-max-height: 80px;
}
.labelMonth{
-fx-padding: 0 0 0 20;
-fx-background-color: #77859E;
-fx-font-size: 35px;
-fx-font-weight: bold;
}
.scrollDays{
-fx-background-color: -fx-base-background-color;
-fx-border-color: -fx-main-border-color;
}
.vBoxDays{
-fx-background-color: -fx-base-background-color;
}
.labelDays{
-fx-alignment: center;
-fx-background-color: -fx-base1-background-color;
-fx-font-size: 25px;
-fx-border-color: -fx-main-border-color;
}
Label{
-fx-text-fill: -fx-main-text-color;
}
.event{
-fx-background-color: -fx-base1-background-color;
}
.main-btn{
-fx-background-color: #ffffff;
-fx-text-fill: -fx-main-text-color;
-fx-background-radius: 5em;
-fx-min-width: 40px;
-fx-min-height: 40px;
-fx-max-width: 40px;
-fx-max-height: 40px;
}

View File

@@ -1,8 +0,0 @@
package kaka;
public class Dings {
public static int a() {
return 5;
}
}