Real First commit

main
Alexis Drai 3 years ago
parent bc312a7959
commit f9dce36bbf

60
.gitignore vendored

@ -0,0 +1,60 @@
### Java template
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml
## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:
# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries
# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml
# Gradle:
# .idea/gradle.xml
# .idea/libraries
# Mongo Explorer plugin:
# .idea/mongoSettings.xml
## File-based project format:
*.ipr
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<BorderPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="view.MainWindow">
<left>
<ListView fx:id="birdsLV"/>
</left>
<center>
<VBox prefHeight="200.0" prefWidth="100.0" BorderPane.alignment="CENTER">
<Label fx:id="nameLbl"/>
<Label fx:id="dobLbl"/>
<Label fx:id="ageLbl"/>
<Label fx:id="colorLbl"/>
<Label fx:id="hungerLbl"/>
<Button alignment="CENTER" mnemonicParsing="false" onAction="#clickFeed" text="Feed"/>
</VBox>
</center>
<top>
<HBox prefHeight="100.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<Label text="Today: " fx:id="dateLbl"/>
<Button mnemonicParsing="false" onAction="#clickTomorrow" text="To tomorrow"/>
</HBox>
</top>
</BorderPane>

@ -0,0 +1,20 @@
package launcher;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.util.Objects;
public class Launcher extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/MainWindow.fxml")));
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.setTitle("Dah birbs");
primaryStage.show();
}
}

@ -0,0 +1,43 @@
package model;
import javafx.beans.property.*;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class Birb {
private final StringProperty name = new SimpleStringProperty();
public StringProperty nameProperty() {return name;}
public String getName() {return name.get();}
public void setName(String name) {this.name.set(name);}
private final ObjectProperty<LocalDate> dob = new SimpleObjectProperty<>();
public ObjectProperty<LocalDate> dobProperty() {return dob;}
public LocalDate getDob() {return dob.get();}
public void setDob(LocalDate dob) {this.dob.set(dob);}
private final LongProperty age = new SimpleLongProperty();
public LongProperty ageProperty() {return age;}
public long getAge() {return age.get();}
public void setAge(LocalDate timeFromCall) {this.age.set(ChronoUnit.DAYS.between(getDob(), timeFromCall));}
private final StringProperty color = new SimpleStringProperty();
public StringProperty colorProperty() {return color;}
public String getColor() {return color.get();}
public void setColor(String color) {this.color.set(color);}
private final IntegerProperty hunger = new SimpleIntegerProperty();
public IntegerProperty hungerProperty() {return hunger;}
public int getHunger() {return hunger.get();}
public void setHunger(int hunger) {this.hunger.set(hunger);}
public Birb(String name, String color) {
this(name, LocalDate.now(), color, LocalDate.now(), 0);
}
public Birb(String name, LocalDate dob, String color, LocalDate timeFromCall, int hunger) {
setName(name);
setDob(dob);
setColor(color);
setAge(timeFromCall);
setHunger(hunger);
}
}

@ -0,0 +1,32 @@
package view;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
public class MainWindow {
@FXML
private Label nameLbl;
@FXML
private ListView birdsLV;
@FXML
private Label dobLbl;
@FXML
private Label ageLbl;
@FXML
private Label colorLbl;
@FXML
private Label hungerLbl;
@FXML
private Label dateLbl;
@FXML
private void clickFeed(ActionEvent evt) {
}
@FXML
private void clickTomorrow(ActionEvent evt) {
}
}
Loading…
Cancel
Save