Initial commit

This commit is contained in:
code-witch 2019-03-25 18:21:27 -06:00 committed by code-witch
commit 4a256652a7
6 changed files with 132 additions and 0 deletions

19
.gitignore vendored Normal file
View File

@ -0,0 +1,19 @@
# IntelliJ IDE Files
*.iml
*.idea/*
out/*
# Eclipse IDE Files
.project
.classpath
.settings
# VS Code Files
.vscode
# Java Compiled Files
bin/*
*.class
# Misc
.DS_Store

2
README.md Normal file
View File

@ -0,0 +1,2 @@
# JavaTUI
A Java Terminal User Interface

View File

@ -0,0 +1,10 @@
package fetch.commands;
public abstract class Command {
/**
* Runs the Command
*/
public abstract void run();
}

View File

@ -0,0 +1,35 @@
package fetch.controller;
import fetch.events.*;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public final class App extends Application {
public static final HBox root = new HBox();
public static final Scene scene = new Scene(root);
@Override
public void init() {
// Put more init stuff here if need be.
System.out.println("Initialization Completed");
}
@Override
public void start(Stage stage) {
// There's got to be a cleaner way..
scene.addEventFilter(KeyEvent.KEY_PRESSED, new WidgetAdd());
stage.setTitle("JavaTUI");
stage.setScene(scene);
stage.show();
}
}

View File

@ -0,0 +1,9 @@
package fetch.controller;
import javafx.application.Application;
public final class Fetch {
public static void main(String[] args) {
Application.launch(App.class, args);
}
}

View File

@ -0,0 +1,57 @@
package fetch.events;
import fetch.controller.App;
import javafx.event.EventHandler;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.*;
import javafx.scene.input.*;
import javafx.scene.Node;
import java.util.Random;
/**
* UIOP to spawn widgets
* u = left
* i = down
* o = up
* p = right
*/
public class WidgetAdd implements EventHandler<KeyEvent> {
// Find better way of doing this, maybe each widget has x,y associated with it?
// private int yAmount = 0;
private int xAmount = 0;
@Override
public void handle(KeyEvent keyEvent) {
System.out.println(keyEvent.getCode().getName());
if (keyEvent.getCode() == KeyCode.P) { // Spawn Widget Right
xAmount++;
StackPane sp = new StackPane();
sp.setStyle(
String.format("-fx-background-color: rgb(%02d, %02d, %02d);",
new Random().nextInt(256),
new Random().nextInt(256),
new Random().nextInt(256)));
App.root.getChildren().add(sp);
for(Node n : App.root.getChildren()){
if(n instanceof StackPane){
((StackPane)n).setMinSize(App.scene.getWidth() / xAmount, App.scene.getHeight());
}
}
} else if (keyEvent.getCode() == KeyCode.U) { // Delete Widget Left
App.root.getChildren().remove(App.root.getChildren().size() - 1);
xAmount--;
for(Node n : App.root.getChildren()){
if(n instanceof StackPane){
((StackPane)n).setMinSize(App.scene.getWidth() /xAmount, App.scene.getHeight());
}
}
} else if (keyEvent.getCode() == KeyCode.I) { // Spawn Widget Down
} else if (keyEvent.getCode() == KeyCode.O) { // Delete Widget Up
}
}
}