9 Commits

Author SHA1 Message Date
3fe16186e2 Improved layout, removed typ 2022-01-14 11:11:05 +01:00
654f34e30e TimPicker now uses 24h time format 2022-01-14 10:44:37 +01:00
baeed584ab TimPicker now uses 24h time format 2022-01-14 10:14:17 +01:00
ce309581ed Added TimePicker to edit event, time is used 2022-01-13 11:02:49 +01:00
f0405b5d86 Added timePicker to mainGrid 2022-01-13 10:11:09 +01:00
0d105be15c Created TimePicker and tried to add to grid 2022-01-13 08:30:56 +01:00
646da71e8a Merge branch '2410-develop' into merge
# Conflicts:
#	client/app/src/main/java/main/MainController.java
2022-01-13 08:28:44 +01:00
eb55d5c650 Implementet JFoenix 2022-01-11 12:13:24 +01:00
f933690ba0 Added UI to edit events 2022-01-11 07:46:39 +01:00
6 changed files with 134 additions and 26 deletions

View File

@@ -16,7 +16,12 @@ application {
mainClassName = "client.MainApplication"
}
repositories {
mavenCentral()
}
dependencies {
implementation("com.jfoenix:jfoenix:9.0.10")
implementation(project(":data"))
}

View File

@@ -1,26 +1,30 @@
package main;
import com.jfoenix.controls.JFXTimePicker;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.Node;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import javafx.util.StringConverter;
import javafx.util.converter.LocalTimeStringConverter;
import res.DataController;
import res.Event;
import java.time.LocalTime;
import java.time.format.FormatStyle;
import java.util.Locale;
public class CreateEventController {
@FXML
public GridPane mainGrid;
@FXML
public DatePicker datePickerDate;
@FXML
public TextField textName;
@FXML
public TextField textStart;
@FXML
public TextField textEnd;
@FXML
public ComboBox<String> ComboBoxTyp;
@FXML
public ComboBox<String> ComboBoxPriotity;
@FXML
public CheckBox checkBoxIsFullDay;
@@ -28,6 +32,10 @@ public class CreateEventController {
public CheckBox checkBoxIsPrivate;
@FXML
public Label labelError;
@FXML
public JFXTimePicker timeStart;
@FXML
public JFXTimePicker timeEnd;
public CreateEventController() {
@@ -35,6 +43,22 @@ public class CreateEventController {
@FXML
public void initialize() {
StringConverter<LocalTime> defaultConverter = new LocalTimeStringConverter(FormatStyle.SHORT, Locale.GERMANY);
JFXTimePicker timePickerStart = new JFXTimePicker();
timeStart = timePickerStart;
timePickerStart.set24HourView(true);
timePickerStart.setConverter(defaultConverter);
timePickerStart.getStyleClass().add("timePicker");
mainGrid.add(timePickerStart, 1 , 3);
JFXTimePicker timePickerEnd = new JFXTimePicker();
timeEnd = timePickerEnd;
timePickerEnd.set24HourView(true);
timePickerEnd.setConverter(defaultConverter);
timePickerEnd.getStyleClass().add("timePicker");
mainGrid.add(timePickerEnd, 1 , 4);
}
@@ -50,8 +74,8 @@ public class CreateEventController {
ComboBoxPriotity.getSelectionModel().getSelectedIndex(),
checkBoxIsFullDay.isSelected(),
checkBoxIsPrivate.isSelected(),
textStart.getText(),
textEnd.getText(),
timeStart.getValue().toString(),
timeEnd.getValue().toString(),
datePickerDate.getValue().atStartOfDay(),
(int) DataController.USER_ID
);

View File

@@ -148,6 +148,23 @@ public class MainController {
});
Button editBtn = new Button();
editBtn.setTextValue("edit");
editBtn.setOnAction(event1 -> {
try {
FXMLLoader fxmlLoader = new FXMLLoader(
MainApplication.class.getResource("edit-event.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 650, 650);
scene.getStylesheets().add(Objects.requireNonNull(
MainApplication.class.getResource("create-event.css")).toExternalForm());
Stage stage = new Stage();
stage.setTitle("Termin bearbeiten");
stage.setScene(scene);
stage.initModality(Modality.APPLICATION_MODAL);
stage.setResizable(false);
stage.showAndWait();
} catch (IOException e) {
e.printStackTrace();
}
});
btnHBox.getChildren().add(editBtn);
btnHBox.getChildren().add(deleteBtn);
vBox.getChildren().add(btnHBox);

View File

@@ -43,4 +43,9 @@ Label{
-fx-max-height: 400px;
-fx-wrap-text: true;
-fx-font-size: 16px;
}
.timePicker{
-fx-background-color: white;
-fx-max-width: 200px;
}

View File

@@ -5,7 +5,7 @@
<?import javafx.collections.FXCollections?>
<?import java.lang.String?>
<GridPane xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1"
<GridPane fx:id="mainGrid" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="main.CreateEventController">
<columnConstraints>
@@ -23,26 +23,23 @@
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
</rowConstraints>
<Label styleClass="mainLabel">Termin anlegen</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="1">Datum:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="2">Titel:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="1">Titel:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="2">Datum:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="3">Von:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="4">Bis:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="5">Typ:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="6">Priorität:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="7">Ganztägig:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="8">Privat:</Label>
<DatePicker fx:id="datePickerDate" GridPane.columnIndex="1" GridPane.rowIndex="1" maxWidth="400" minWidth="400"/>
<TextField fx:id="textName" GridPane.columnIndex="1" GridPane.rowIndex="2" maxWidth="400" minWidth="400"/>
<TextField fx:id="textStart" GridPane.columnIndex="1" GridPane.rowIndex="3" maxWidth="400" minWidth="400"/>
<TextField fx:id="textEnd" GridPane.columnIndex="1" GridPane.rowIndex="4" maxWidth="400" minWidth="400"/>
<ComboBox fx:id="ComboBoxTyp" GridPane.columnIndex="1" GridPane.rowIndex="5" maxWidth="400" minWidth="400"/>
<ComboBox fx:id="ComboBoxPriotity" GridPane.columnIndex="1" GridPane.rowIndex="6" maxWidth="200" minWidth="200">
<Label styleClass="inputLabel" GridPane.rowIndex="5">Priorität:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="6">Ganztägig:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="7">Privat:</Label>
<TextField fx:id="textName" GridPane.columnIndex="1" GridPane.rowIndex="1" maxWidth="400" minWidth="400"/>
<DatePicker fx:id="datePickerDate" GridPane.columnIndex="1" GridPane.rowIndex="2" maxWidth="200" minWidth="200"/>
<ComboBox fx:id="ComboBoxPriotity" GridPane.columnIndex="1" GridPane.rowIndex="5" maxWidth="200" minWidth="200">
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="gering"/>
@@ -51,11 +48,11 @@
</FXCollections>
</items>
</ComboBox>
<CheckBox fx:id="checkBoxIsFullDay" GridPane.columnIndex="1" GridPane.rowIndex="7"/>
<CheckBox fx:id="checkBoxIsPrivate" GridPane.columnIndex="1" GridPane.rowIndex="8"/>
<Label fx:id="labelError" GridPane.columnIndex="1" GridPane.rowIndex="9"/>
<CheckBox fx:id="checkBoxIsFullDay" GridPane.columnIndex="1" GridPane.rowIndex="6"/>
<CheckBox fx:id="checkBoxIsPrivate" GridPane.columnIndex="1" GridPane.rowIndex="7"/>
<Label fx:id="labelError" GridPane.columnIndex="1" GridPane.rowIndex="8"/>
<HBox GridPane.columnIndex="1" GridPane.rowIndex="10" GridPane.columnSpan="2" alignment="CENTER_RIGHT">
<HBox GridPane.columnIndex="1" GridPane.rowIndex="9" GridPane.columnSpan="2" alignment="CENTER_RIGHT">
<Button onAction="#abortBtnClick" maxWidth="150" minWidth="150">Abbrechen</Button>
<Button styleClass="mainButton" onAction="#createBtnClick" maxWidth="150" minWidth="150">Anlegen</Button>
</HBox>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.collections.FXCollections?>
<?import java.lang.String?>
<GridPane fx:id="mainGrid" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="main.CreateEventController">
<columnConstraints>
<ColumnConstraints/>
<ColumnConstraints/>
<ColumnConstraints/>
</columnConstraints>
<rowConstraints>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
<RowConstraints vgrow="ALWAYS"/>
</rowConstraints>
<Label styleClass="mainLabel">Termin bearbeiten</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="1">Titel:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="2">Datum:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="3">Von:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="4">Bis:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="5">Priorität:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="6">Ganztägig:</Label>
<Label styleClass="inputLabel" GridPane.rowIndex="7">Privat:</Label>
<TextField fx:id="textName" GridPane.columnIndex="1" GridPane.rowIndex="1" maxWidth="400" minWidth="400"/>
<DatePicker fx:id="datePickerDate" GridPane.columnIndex="1" GridPane.rowIndex="2" maxWidth="200" minWidth="200"/>
<ComboBox fx:id="ComboBoxPriotity" GridPane.columnIndex="1" GridPane.rowIndex="5" maxWidth="200" minWidth="200">
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="gering"/>
<String fx:value="mittel"/>
<String fx:value="hoch"/>
</FXCollections>
</items>
</ComboBox>
<CheckBox fx:id="checkBoxIsFullDay" GridPane.columnIndex="1" GridPane.rowIndex="6"/>
<CheckBox fx:id="checkBoxIsPrivate" GridPane.columnIndex="1" GridPane.rowIndex="7"/>
<Label fx:id="labelError" GridPane.columnIndex="1" GridPane.rowIndex="8"/>
<HBox GridPane.columnIndex="1" GridPane.rowIndex="9" GridPane.columnSpan="2" alignment="CENTER_RIGHT">
<Button onAction="#abortBtnClick" maxWidth="150" minWidth="150">Abbrechen</Button>
<Button styleClass="mainButton" onAction="#createBtnClick" maxWidth="150" minWidth="150">Speichern</Button>
</HBox>
</GridPane>