first commit

This commit is contained in:
2025-11-26 13:56:55 +01:00
commit c5f25901e1
188 changed files with 52799 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/
.kotlin
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
Ugesedler/Ugeseddel-12 26-11-2025/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KubernetesApiProvider"><![CDATA[{}]]></component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="zulu-21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Ugeseddel-12 26-11-2025.iml" filepath="$PROJECT_DIR$/Ugeseddel-12 26-11-2025.iml" />
</modules>
</component>
</project>

Binary file not shown.

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -0,0 +1,27 @@
\documentclass[12pt,a4paper]{article}
\usepackage[cm,empty]{fullpage}
\usepackage{parskip}
\usepackage{url}
\begin{document}
\emph{\LARGE Individuel aflevering - Opgave med JavaFX (uge 11)}
Skriv et JavaFX-program \verb+RandomWalk+, der indeholder et vindue med en knap midtpå og en label i bunden, der viser et heltal initialiseret med 0. På knappen skal der enten stå "Up" eller "Down" -- der startes med en tilfældig mulighed (50\,\% sandsynlighed hver), og hver gang der trykkes på knappen, skal der eksekveres en optælling ($+1$) eller nedtælling ($-1$) på labelen afhængig af knappens tekst. Efter klikket skal knappens tekst igen ændres tilfældigt. Du skal bruge \verb+BorderPane+ til layoutet og lambda-udtryk til at håndtere museklik på knappen.
Udover at aflevere en PDF-fil med JavaFX-programmet skal du lave en videooptagelse, der viser, hvordan du kompilerer og starter programmet fra kommandolinjen og hvordan labelen ændrer sig, mens du klikker mindst 10 gange på knappen. Videoen må maks.\ vare 30 sekunder og skal lægges op i \verb+.mp4+-format.
\emph{Hint:} Man kan bruge det indbyggede \emph{Snipping Tool} i Windows (Windows+Shift+R) eller \emph{Screen Recording Tool} på Mac (Shift+Command+5) til at lave videoen.
% INDSÆT KILDEKODEN AF DIT JAVA-PROGRAM HERUNDER MELLEM \begin{verbatim} og \end{verbatim}
% Slet den givne opgavetekst i dokumentet (altså alt bortset fra selve løsningen); LaTeX-præamblen og document-miljøet beholdes selvfølgelig.
% Der skal afleveres en PDF-fil genereret af LaTeX (benyt fx Overleaf) samt den ovennævnte videooptagelse
% LaTeX-filen skal ikke afleveres (men den bør dog gemmes)
\begin{verbatim}
\end{verbatim}
\end{document}

View File

@@ -0,0 +1,46 @@
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import java.util.Random;
public class RandomWalk extends Application {
private Button button = new Button();
private int counter = 0;
private Label label = new Label("" + this.counter);
private final Random random = new Random();
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Random Walk");
this.button.setText((random.nextBoolean() ? "Up" : "Down"));
BorderPane borderPane = new BorderPane();
borderPane.setPadding(new Insets(20, 20,20,20));
borderPane.setCenter(this.button);
BorderPane.setAlignment(this.button, Pos.CENTER);
borderPane.setBottom(label);
BorderPane.setAlignment(label, Pos.BOTTOM_CENTER);
Scene scene = new Scene(borderPane, 300, 250);
primaryStage.setScene(scene);
this.button.setOnAction(e -> {
counter += (button.getText().equals("Up") ? 1 : -1);
button.setText((random.nextBoolean() ? "Up" : "Down"));
label.setText("" + counter);
});
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}

View File

@@ -0,0 +1,24 @@
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import java.util.Random;
public class TicTacToe extends Application {
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Tic Tac Toe");
}
public static void main(String[] args) {launch(args);}
}