This commit is contained in:
Michael Hayder 2025-01-08 21:03:54 +01:00
parent d26ef99705
commit 717f2a9faa
10 changed files with 223 additions and 24 deletions

View File

@ -44,6 +44,16 @@ public class App extends Application {
Scene sceneList; Scene sceneList;
Scene sceneTest; Scene sceneTest;
TextField nameSmartZiel;
TextField sinnesSpezifisch;
TextField messBar;
TextField attraktiv;
TextField realistisch;
public static String filesDirectory = System.getProperty("user.home") + "/files"; public static String filesDirectory = System.getProperty("user.home") + "/files";
@ -60,9 +70,13 @@ public class App extends Application {
StartUpCheck.checkFilesDirectory(filesDirectory); StartUpCheck.checkFilesDirectory(filesDirectory);
//SceneCreate setup = new SceneCreate();
setupSceneList(primaryStage); setupSceneList(primaryStage);
setupSceneHome(primaryStage); setupSceneHome(primaryStage);
setupSceneCreate(primaryStage); SceneCreate.setupSceneCreate(primaryStage);
setupSceneTest(primaryStage); setupSceneTest(primaryStage);
primaryStage.setTitle("Work out a S.M.A.R.T. Target "); primaryStage.setTitle("Work out a S.M.A.R.T. Target ");
@ -71,7 +85,7 @@ public class App extends Application {
} }
private HBox navigationButtonsNew(Stage primaryStage) { public HBox navigationButtonsNew(Stage primaryStage) {
HBox hbox = new HBox(); HBox hbox = new HBox();
hbox.setPadding(new Insets(15, 12, 15, 12)); hbox.setPadding(new Insets(15, 12, 15, 12));
hbox.setSpacing(10); hbox.setSpacing(10);
@ -261,21 +275,24 @@ public class App extends Application {
navigationButtonsNew(primaryStage); navigationButtonsNew(primaryStage);
} }
/*
public void setupSceneCreate(Stage primaryStage) throws Exception { public void setupSceneCreate(Stage primaryStage) throws Exception {
BorderPane border = new BorderPane(); BorderPane border = new BorderPane();
HBox hbox = navigationButtonsNew(primaryStage); HBox hbox = navigationButtonsNew(primaryStage);
border.setTop(hbox); border.setTop(hbox);
Label label = new Label("This is the create Scene"); Label label = new Label("This is the create Scene");
//VBox test = addCreateCenter(label);
//border.setBottom(addCreateBottom(label, test));
//border.setCenter(test);
border.setCenter(addCreateCenter(label)); border.setCenter(addCreateCenter(label));
border.setBottom(addCreateBottom(label)); border.setBottom(addCreateBottom(label));
//border.setBottom(label,addCreateCenter(label)); //border.setBottom(label,addCreateCenter(label));
System.out.println(label.getLabelFor()); System.out.println(label.getLabelFor());
sceneCreate = new Scene(border, 900, 500); sceneCreate = new Scene(border, 600, 300);
navigationButtonsNew(primaryStage); navigationButtonsNew(primaryStage);
//System.out.println(border.getUserData()); //System.out.println(border.getUserData());
@ -292,46 +309,48 @@ public class App extends Application {
title.setFont(Font.font("Arial", FontWeight.BOLD, 14)); title.setFont(Font.font("Arial", FontWeight.BOLD, 14));
vbox.getChildren().add(title); vbox.getChildren().add(title);
DatePicker checkInDatePicker; //DatePicker checkInDatePicker;
checkInDatePicker = new DatePicker(); //checkInDatePicker = new DatePicker();
final TextField nameSmartZiel = new TextField(); nameSmartZiel = new TextField();
nameSmartZiel.setPromptText("Gib dm Smart Ziel einen Namen"); nameSmartZiel.setPromptText("Gib dm Smart Ziel einen Namen");
nameSmartZiel.setPrefColumnCount(1); nameSmartZiel.setPrefColumnCount(1);
nameSmartZiel.setPrefSize(100, 20); nameSmartZiel.setPrefSize(100, 20);
final TextField sinnesSpezifisch = new TextField(); sinnesSpezifisch = new TextField();
sinnesSpezifisch.setPromptText("wie ist es sinnespezifisch wahrnehmbar"); sinnesSpezifisch.setPromptText("wie ist es sinnespezifisch wahrnehmbar");
sinnesSpezifisch.setPrefColumnCount(1); sinnesSpezifisch.setPrefColumnCount(1);
sinnesSpezifisch.setPrefSize(100, 20); sinnesSpezifisch.setPrefSize(100, 20);
final TextField messBar = new TextField(); messBar = new TextField();
messBar.setPrefColumnCount(20); messBar.setPrefColumnCount(20);
messBar.setPromptText("Wie ist es messabr, wenn Du es erreicht hat"); messBar.setPromptText("Wie ist es messabr, wenn Du es erreicht hat");
messBar.setPrefSize(100, 20); messBar.setPrefSize(100, 20);
final TextField attraktiv = new TextField(); attraktiv = new TextField();
attraktiv.setPrefColumnCount(20); attraktiv.setPrefColumnCount(20);
attraktiv.setPromptText("Ist es attraktiv?"); attraktiv.setPromptText("Ist es attraktiv?");
final TextField realistisch = new TextField(); realistisch = new TextField();
realistisch.setPrefColumnCount(20); realistisch.setPrefColumnCount(20);
realistisch.setPromptText("Ist es realistisch selbst erreichbar ?"); realistisch.setPromptText("Ist es realistisch selbst erreichbar ?");
vbox.getChildren().addAll(nameSmartZiel, sinnesSpezifisch,
messBar, attraktiv, realistisch);
final Label checkInlabel = new Label("Terminiert bis");
checkInlabel = new Label("Terminiert bis");
checkInlabel.setPrefSize(100, 20); checkInlabel.setPrefSize(100, 20);
Button submit = new Button("Submit"); submit = new Button("Submit");
submit.setAlignment(Pos.BOTTOM_CENTER); submit.setAlignment(Pos.BOTTOM_CENTER);
Button clear = new Button("Clear"); clear = new Button("Clear");
clear.setAlignment(Pos.BOTTOM_CENTER); clear.setAlignment(Pos.BOTTOM_CENTER);
@ -393,10 +412,12 @@ public class App extends Application {
} }
}); });
return vbox; return vbox;
} }
*/
/*
public HBox addCreateBottom (Label label){ public HBox addCreateBottom (Label label){
HBox hbox = new HBox(); HBox hbox = new HBox();
hbox.setPadding(new Insets(15, 12, 15, 12)); hbox.setPadding(new Insets(15, 12, 15, 12));
@ -414,20 +435,22 @@ public class App extends Application {
Button clear = new Button("Clear"); Button clear = new Button("Clear");
clear.setAlignment(Pos.BOTTOM_CENTER); clear.setAlignment(Pos.BOTTOM_CENTER);
//hbox.getChildren().addAll(nameSmartZiel, sinnesSpezifisch,
// messBar, attraktiv, realistisch, checkInlabel, checkInDatePicker, submit, clear);
hbox.getChildren().addAll(checkInlabel, checkInDatePicker, submit, clear); hbox.getChildren().addAll(checkInlabel, checkInDatePicker, submit, clear);
/* ----> Also so .... ----> Also so ....
hbox.getChildren().addAll(nameSmartZiel, sinnesSpezifisch, hbox.getChildren().addAll(nameSmartZiel, sinnesSpezifisch,
messBar, attraktiv, realistisch, checkInlabel, checkInDatePicker, submit, clear); messBar, attraktiv, realistisch, checkInlabel, checkInDatePicker, submit, clear);
*/
Text title = new Text("Hier möchte ich aber gerne Kalender Submit und Clear einfügen\n und alles absenden können, auch von den Textfieldern");
title.setFont(Font.font("Arial", FontWeight.BOLD, 14)); //Text title = new Text("Hier möchte ich aber gerne Kalender Submit und Clear einfügen\n und alles absenden können, auch von den Textfieldern");
hbox.getChildren().add(title); //title.setFont(Font.font("Arial", FontWeight.BOLD, 14));
//hbox.getChildren().add(title);
return hbox; return hbox;
} }
*/

View File

@ -18,7 +18,7 @@ public class CreateFile {
} catch (IOException e) { } catch (IOException e) {
System.out.println("An error occurred."); System.out.println("An error occurred."),
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -0,0 +1,176 @@
package net.altimate.app;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.DatePicker;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import java.time.format.DateTimeFormatter;
public class SceneCreate {
Scene sceneCreate;
TextField nameSmartZiel;
TextField sinnesSpezifisch;
TextField messBar;
TextField attraktiv;
TextField realistisch;
public static void setupSceneCreate(Stage primaryStage) throws Exception {
BorderPane border = new BorderPane();
HBox hbox = navigationButtonsNew(primaryStage);
border.setTop(hbox);
Label label = new Label("This is the create Scene");
//VBox test = addCreateCenter(label);
//border.setBottom(addCreateBottom(label, test));
//border.setCenter(test);
border.setCenter(addCreateCenter(label));
border.setBottom(addCreateBottom(label));
System.out.println(label.getLabelFor());
sceneCreate = new Scene(border, 600, 300);
//App.navigationButtonsNew(primaryStage);
}
public VBox addCreateCenter (Label label){
VBox vbox = new VBox();
vbox.setPadding(new Insets(10));
vbox.setSpacing(8);
Text title = new Text("Create S.M.A.R.T Goal");
title.setFont(Font.font("Arial", FontWeight.BOLD, 14));
vbox.getChildren().add(title);
nameSmartZiel = new TextField();
nameSmartZiel.setPromptText("Gib dm Smart Ziel einen Namen");
nameSmartZiel.setPrefColumnCount(1);
nameSmartZiel.setPrefSize(100, 20);
sinnesSpezifisch = new TextField();
sinnesSpezifisch.setPromptText("wie ist es sinnespezifisch wahrnehmbar");
sinnesSpezifisch.setPrefColumnCount(1);
sinnesSpezifisch.setPrefSize(100, 20);
messBar = new TextField();
messBar.setPrefColumnCount(20);
messBar.setPromptText("Wie ist es messabr, wenn Du es erreicht hat");
messBar.setPrefSize(100, 20);
attraktiv = new TextField();
attraktiv.setPrefColumnCount(20);
attraktiv.setPromptText("Ist es attraktiv?");
realistisch = new TextField();
realistisch.setPrefColumnCount(20);
realistisch.setPromptText("Ist es realistisch selbst erreichbar ?");
vbox.getChildren().addAll(nameSmartZiel, sinnesSpezifisch,
messBar, attraktiv, realistisch);
return vbox;
}
public HBox addCreateBottom (Label label){
HBox hbox = new HBox();
hbox.setPadding(new Insets(15, 12, 15, 12));
hbox.setSpacing(10);
//hbox.setStyle("-fx-background-color: #336699;");
DatePicker checkInDatePicker;
checkInDatePicker = new DatePicker();
final Label checkInlabel = new Label("Terminiert bis");
checkInlabel.setPrefSize(100, 20);
Button submit = new Button("Submit");
submit.setAlignment(Pos.BOTTOM_CENTER);
Button clear = new Button("Clear");
clear.setAlignment(Pos.BOTTOM_CENTER);
hbox.getChildren().addAll(checkInlabel, checkInDatePicker, submit, clear);
submit.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
System.out.println(nameSmartZiel.getText());
if (
(nameSmartZiel.getText() != null && !nameSmartZiel.getText().isEmpty())
&& (sinnesSpezifisch.getText() != null && !sinnesSpezifisch.getText().isEmpty())
&& (messBar.getText() != null && !messBar.getText().isEmpty())
&& (attraktiv.getText() != null && !attraktiv.getText().isEmpty())
&& (realistisch.getText() != null && !realistisch.getText().isEmpty())
) {
label.setText(nameSmartZiel.getText() + " " + sinnesSpezifisch.getText() + " " +
messBar.getText() + " " + attraktiv.getText() + " " + realistisch.getText() + ", "
+ "thanks" + checkInDatePicker.getValue());
String date = checkInDatePicker.getValue().format(DateTimeFormatter.ofPattern("dd.MM.yyyy"));
long seconds = System.currentTimeMillis() / 1000l;
String state = "open";
String[] createSmart = {
nameSmartZiel.getText() + "|" +
sinnesSpezifisch.getText() + "|" +
messBar.getText() + "|" +
attraktiv.getText() + "|" +
realistisch.getText() + "|" +
state + "|" +
seconds + "|" +
date
};
// Achtung rausnehmen
String filesDirectory = "/home/mic/files";
CreateFile.writeFile(filesDirectory + "/" + seconds + ".smart", createSmart);
} else {
label.setText("You have not filed out the complete form");
}
}
});
clear.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
nameSmartZiel.clear();
sinnesSpezifisch.clear();
messBar.clear();
attraktiv.clear();
realistisch.clear();
checkInlabel.setText(null);
label.setText(null);
}
});
return hbox;
}
}