finished the ability to type in numbers with the keyboard.
This commit is contained in:
parent
6db2d70b00
commit
c85a85e8f5
|
@ -1,4 +1,3 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
|
|
5
pom.xml
5
pom.xml
|
@ -38,6 +38,11 @@
|
|||
<version>${junit.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.objecthunter</groupId>
|
||||
<artifactId>exp4j</artifactId>
|
||||
<version>0.4.8</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module net.marakaner.calc {
|
||||
requires javafx.controls;
|
||||
requires javafx.fxml;
|
||||
requires exp4j;
|
||||
|
||||
|
||||
opens net.marakaner.calc to javafx.fxml;
|
||||
|
|
|
@ -1,122 +1,138 @@
|
|||
package net.marakaner.calc;
|
||||
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventType;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.input.InputMethodEvent;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.input.KeyCode;
|
||||
import javafx.scene.input.KeyEvent;
|
||||
import javafx.scene.layout.VBox;
|
||||
import net.objecthunter.exp4j.Expression;
|
||||
import net.objecthunter.exp4j.ExpressionBuilder;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
public class CalcController implements Initializable {
|
||||
public TextField textField;
|
||||
public Label label;
|
||||
public VBox vbox;
|
||||
|
||||
private String lastChar = "";
|
||||
|
||||
private void addChar(String next, boolean spacing) {
|
||||
if(lastChar.equals("(") || lastChar.equals(")")) {
|
||||
if(!next.matches("\\d")) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.label.setText((spacing ? " " : "") + next + (spacing ? " " : ""));
|
||||
}
|
||||
|
||||
private void addChar(String next) {
|
||||
addChar(next, false);
|
||||
}
|
||||
|
||||
public void onSeven(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "7");
|
||||
addChar("7");
|
||||
}
|
||||
|
||||
public void onEight(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "8");
|
||||
addChar("8");
|
||||
}
|
||||
|
||||
public void onBracketRight(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + ")");
|
||||
addChar(")");
|
||||
}
|
||||
|
||||
public void onFour(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "4");
|
||||
addChar("4");
|
||||
}
|
||||
|
||||
public void onFive(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "5");
|
||||
addChar("5");
|
||||
}
|
||||
|
||||
public void onCE(ActionEvent actionEvent) {
|
||||
}
|
||||
|
||||
public void onNine(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "9");
|
||||
addChar("9");
|
||||
}
|
||||
|
||||
public void onSix(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "6");
|
||||
addChar("6");
|
||||
}
|
||||
|
||||
public void onC(ActionEvent actionEvent) {
|
||||
this.textField.setText("");
|
||||
this.label.setText("");
|
||||
}
|
||||
|
||||
public void onDivide(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + " / ");
|
||||
addChar("/", true);
|
||||
}
|
||||
|
||||
public void onMultiply(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + " * ");
|
||||
addChar("*", true);
|
||||
}
|
||||
|
||||
public void onOne(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "1");
|
||||
addChar("1");
|
||||
}
|
||||
|
||||
public void onTwo(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "2");
|
||||
addChar("2");
|
||||
}
|
||||
|
||||
public void onBracketLeft(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "(");
|
||||
addChar("(");
|
||||
}
|
||||
|
||||
public void onThree(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + "3");
|
||||
addChar("3");
|
||||
}
|
||||
|
||||
public void onMinus(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + " - ");
|
||||
addChar("-", true);
|
||||
}
|
||||
|
||||
public void onPoint(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + ".");
|
||||
addChar(".");
|
||||
}
|
||||
|
||||
public void onSum(ActionEvent actionEvent) {
|
||||
Expression expression = new ExpressionBuilder(this.label.getText()).build();
|
||||
|
||||
double result = expression.evaluate();
|
||||
|
||||
System.out.println(result % 1);
|
||||
|
||||
if(result % 1.0 == 0.0) {
|
||||
int intResult = (int) result;
|
||||
this.label.setText("" + intResult);
|
||||
} else {
|
||||
this.label.setText("" + result);
|
||||
}
|
||||
}
|
||||
|
||||
public void onPlus(ActionEvent actionEvent) {
|
||||
this.textField.setText(this.textField.getText() + " + ");
|
||||
}
|
||||
|
||||
public void onTextField(ActionEvent actionEvent) {
|
||||
System.out.println(actionEvent.getClass().getName());
|
||||
}
|
||||
|
||||
public void onTextChanged(InputMethodEvent inputMethodEvent) {
|
||||
}
|
||||
|
||||
public void onTextKeyPressed(KeyEvent keyEvent) {
|
||||
}
|
||||
|
||||
public void onTyped(KeyEvent keyEvent) {
|
||||
}
|
||||
|
||||
public void onTextReleased(KeyEvent keyEvent) {
|
||||
// if(!keyEvent.getText().matches("\\d*")) {
|
||||
// this.textField.setText(this.textField.getText().replaceAll(keyEvent.getText(), ""));
|
||||
// }
|
||||
addChar("+", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle resourceBundle) {
|
||||
this.textField.textProperty().addListener(new ChangeListener<String>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<? extends String> observableValue, String oldValue, String newValue) {
|
||||
if (!newValue.matches("\\d*")) {
|
||||
textField.setText(newValue.replaceAll("[^\\d]", ""));
|
||||
}
|
||||
this.vbox.setOnKeyPressed(keyEvent -> {
|
||||
|
||||
System.out.println(keyEvent.getText());
|
||||
|
||||
if(keyEvent.getText().matches("[\\d()]")) {
|
||||
addChar(keyEvent.getText());
|
||||
} else if(keyEvent.getText().matches("[+\\-*/]")) {
|
||||
addChar(keyEvent.getText(), true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void onKeyPressed(KeyEvent keyEvent) {
|
||||
System.out.println(keyEvent.getText());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,16 +8,40 @@ import javafx.stage.Stage;
|
|||
import java.io.IOException;
|
||||
|
||||
public class HelloApplication extends Application {
|
||||
|
||||
private static HelloApplication instance;
|
||||
private Scene currentScene;
|
||||
private Stage stage;
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) throws IOException {
|
||||
instance = this;
|
||||
|
||||
FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("calc-view.fxml"));
|
||||
Scene scene = new Scene(fxmlLoader.load());
|
||||
this.currentScene = new Scene(fxmlLoader.load());
|
||||
|
||||
stage.setTitle("Calculator");
|
||||
stage.setScene(scene);
|
||||
stage.setScene(this.currentScene);
|
||||
stage.setMinWidth(600);
|
||||
stage.setMinHeight(400);
|
||||
stage.show();
|
||||
|
||||
this.stage = stage;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
launch();
|
||||
}
|
||||
|
||||
public Stage getStage() {
|
||||
return stage;
|
||||
}
|
||||
|
||||
public static HelloApplication getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public Scene getCurrentScene() {
|
||||
return currentScene;
|
||||
}
|
||||
}
|
|
@ -1,21 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" stylesheets="@primer-dark.css" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="net.marakaner.calc.CalcController">
|
||||
<VBox fx:id="vbox" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" onKeyPressed="#onKeyPressed" prefHeight="400.0" prefWidth="600.0" stylesheets="@primer-dark.css" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="net.marakaner.calc.CalcController">
|
||||
<children>
|
||||
<TextField fx:id="textField" alignment="CENTER_RIGHT" onAction="#onTextField" onInputMethodTextChanged="#onTextChanged" onKeyPressed="#onTextKeyPressed" onKeyReleased="#onTextReleased" onKeyTyped="#onTyped" prefHeight="164.0" prefWidth="600.0">
|
||||
<Label fx:id="label" alignment="CENTER_RIGHT" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="80.0" textAlignment="RIGHT" VBox.vgrow="ALWAYS">
|
||||
<font>
|
||||
<Font size="34.0" />
|
||||
<Font size="50.0" />
|
||||
</font>
|
||||
</TextField>
|
||||
<GridPane minHeight="-Infinity" minWidth="-Infinity" prefHeight="323.0" prefWidth="600.0">
|
||||
</Label>
|
||||
<GridPane minHeight="-Infinity" minWidth="-Infinity" prefHeight="320.0" prefWidth="600.0" VBox.vgrow="ALWAYS">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||
|
@ -30,26 +30,86 @@
|
|||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Button fx:id="seven" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onSeven" text="7" GridPane.halignment="CENTER" GridPane.rowIndex="1" GridPane.valignment="CENTER" />
|
||||
<Button fx:id="eight" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onEight" text="8" GridPane.columnIndex="1" GridPane.rowIndex="1" />
|
||||
<Button fx:id="bracketRight" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onBracketRight" text=")" GridPane.columnIndex="1" />
|
||||
<Button fx:id="four" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onFour" text="4" GridPane.rowIndex="2" />
|
||||
<Button fx:id="five" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onFive" text="5" GridPane.columnIndex="1" GridPane.rowIndex="2" />
|
||||
<Button fx:id="ce" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onCE" text="CE" GridPane.columnIndex="2" />
|
||||
<Button fx:id="nine" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onNine" text="9" GridPane.columnIndex="2" GridPane.rowIndex="1" />
|
||||
<Button fx:id="six" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onSix" text="6" GridPane.columnIndex="2" GridPane.rowIndex="2" />
|
||||
<Button fx:id="c" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onC" text="C" GridPane.columnIndex="3" />
|
||||
<Button fx:id="divide" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onDivide" text="÷" GridPane.columnIndex="3" GridPane.rowIndex="1" />
|
||||
<Button fx:id="multiply" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onMultiply" text="×" GridPane.columnIndex="3" GridPane.rowIndex="2" />
|
||||
<Button fx:id="one" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onOne" text="1" GridPane.rowIndex="3" />
|
||||
<Button fx:id="two" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onTwo" text="2" GridPane.columnIndex="1" GridPane.rowIndex="3" />
|
||||
<Button fx:id="bracketLeft" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onBracketLeft" text="(" />
|
||||
<Button fx:id="three" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onThree" text="3" GridPane.columnIndex="2" GridPane.rowIndex="3" />
|
||||
<Button fx:id="minus" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onMinus" text="-" GridPane.columnIndex="3" GridPane.rowIndex="3" />
|
||||
<Button layoutX="10.0" layoutY="205.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" text="0" GridPane.rowIndex="4" />
|
||||
<Button fx:id="point" layoutX="10.0" layoutY="75.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onPoint" text="." GridPane.columnIndex="1" GridPane.rowIndex="4" />
|
||||
<Button fx:id="sum" layoutX="160.0" layoutY="205.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onSum" text="=" GridPane.columnIndex="2" GridPane.rowIndex="4" />
|
||||
<Button fx:id="plus" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onPlus" text="+" GridPane.columnIndex="3" GridPane.rowIndex="4" />
|
||||
<Button fx:id="seven" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onSeven" text="7" GridPane.halignment="CENTER" GridPane.rowIndex="1" GridPane.valignment="CENTER">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="eight" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onEight" text="8" GridPane.columnIndex="1" GridPane.rowIndex="1">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="bracketRight" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onBracketRight" text=")" GridPane.columnIndex="1">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="four" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onFour" text="4" GridPane.rowIndex="2">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="five" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onFive" text="5" GridPane.columnIndex="1" GridPane.rowIndex="2">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="ce" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onCE" text="CE" GridPane.columnIndex="2">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="nine" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onNine" text="9" GridPane.columnIndex="2" GridPane.rowIndex="1">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="six" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onSix" text="6" GridPane.columnIndex="2" GridPane.rowIndex="2">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="c" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onC" text="C" GridPane.columnIndex="3">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="divide" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onDivide" text="÷" GridPane.columnIndex="3" GridPane.rowIndex="1">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="multiply" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onMultiply" text="×" GridPane.columnIndex="3" GridPane.rowIndex="2">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="one" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onOne" text="1" GridPane.rowIndex="3">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="two" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onTwo" text="2" GridPane.columnIndex="1" GridPane.rowIndex="3">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="bracketLeft" layoutX="10.0" layoutY="91.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onBracketLeft" text="(">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="three" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onThree" text="3" GridPane.columnIndex="2" GridPane.rowIndex="3">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="minus" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onMinus" text="-" GridPane.columnIndex="3" GridPane.rowIndex="3">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button layoutX="10.0" layoutY="205.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" text="0" GridPane.rowIndex="4">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="point" layoutX="10.0" layoutY="75.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onPoint" text="." GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="sum" layoutX="160.0" layoutY="205.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onSum" text="=" GridPane.columnIndex="2" GridPane.rowIndex="4">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
<Button fx:id="plus" layoutX="10.0" layoutY="10.0" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#onPlus" text="+" GridPane.columnIndex="3" GridPane.rowIndex="4">
|
||||
<font>
|
||||
<Font size="30.0" />
|
||||
</font></Button>
|
||||
</children>
|
||||
</GridPane>
|
||||
</children>
|
||||
|
|
Loading…
Reference in New Issue
Block a user