Sassss

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 13

import javafx.application.

Application;

import javafx.geometry.Insets;

import javafx.geometry.Pos;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.control.TextField;

import javafx.scene.layout.BorderPane;

import javafx.scene.layout.HBox;

import javafx.scene.text.Text;

import javafx.stage.Stage;

public class Main extends Application {

@Override//from ww w . ja v a2s . co m

public void start(Stage primaryStage) {

// Create the top section of the UI

Text tNumber1 = new Text("Number 1:");

Text tNumber2 = new Text("Number 2:");

Text tResult = new Text("Result:");

TextField tfNumber1 = new TextField();

TextField tfNumber2 = new TextField();

TextField tfResult = new TextField();

tfResult.setEditable(false);

// Create the bottom section of the UI


Button btAdd = new Button("Add");

Button btSubtract = new Button("Subtract");

Button btMultiply = new Button("Multiply");

Button btDivide = new Button("Divide");

// Add top and bottom UI to HBox containers

HBox calcTop = new HBox(5);

calcTop.setAlignment(Pos.CENTER);

calcTop.setPadding(new Insets(5));

calcTop.getChildren().addAll(tNumber1, tfNumber1, tNumber2, tfNumber2, tResult, tfResult);

HBox calcBottom = new HBox(5);

calcBottom.setAlignment(Pos.CENTER);

calcBottom.setPadding(new Insets(5));

calcBottom.getChildren().addAll(btAdd, btSubtract, btMultiply, btDivide);

// Add HBox containers to a BorderPane

BorderPane pane = new BorderPane();

pane.setCenter(calcTop);

pane.setBottom(calcBottom);

// Register event handlers for buttons

btAdd.setOnAction(e -> {

double a = getDoubleFromTextField(tfNumber1);

double b = getDoubleFromTextField(tfNumber2);

tfResult.setText(String.valueOf(a + b));
});

btSubtract.setOnAction(e -> {

double a = getDoubleFromTextField(tfNumber1);

double b = getDoubleFromTextField(tfNumber2);

tfResult.setText(String.valueOf(a - b));

});

btMultiply.setOnAction(e -> {

double a = getDoubleFromTextField(tfNumber1);

double b = getDoubleFromTextField(tfNumber2);

tfResult.setText(String.valueOf(a * b));

});

btDivide.setOnAction(e -> {

double a = getDoubleFromTextField(tfNumber1);

double b = getDoubleFromTextField(tfNumber2);

tfResult.setText(b == 0 ? "NaN" : String.valueOf(a / b));

});

Scene scene = new Scene(pane);

primaryStage.setTitle("java2s.com");

primaryStage.setScene(scene);

primaryStage.setResizable(false);

primaryStage.show();
}

private static double getDoubleFromTextField(TextField t) {

return Double.parseDouble(t.getText());

public static void main(String[] args) {

launch(args);

package Componentes;

import javafx.geometry.Pos;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.control.TextField;

import javafx.scene.layout.GridPane;

import javafx.scene.layout.VBox;

import javafx.stage.Stage;

public class Calculator extends Stage {

private Button[] arrayBtn;

private TextField txtResultado;

private Scene scene;


private VBox vBox;

private GridPane gridPane;

private String [] stringOperacion =


{"AC","7","4","1",".","√","8","5","2","0","x^2","9","6","3","=","/","+","-","*","+/-"};

public Calculator(){

CrearGUI();

private void CrearGUI() {

vBox = new VBox();

gridPane = new GridPane();

txtResultado = new TextField();

txtResultado.setText("");

txtResultado.setMinSize(400,100);

txtResultado.setAlignment(Pos.CENTER_RIGHT);

txtResultado.setEditable(false);

arrayBtn = new Button[20];

int x = 0;

for (int i = 0; i < 4; i++){

for (int j = 0; j < 5; j++) {

arrayBtn[x] = new Button(stringOperacion[x]);

arrayBtn[x].setPrefSize(100,100);

final int f=x;

arrayBtn[f].setOnAction(event -> Evento(stringOperacion[f]));

gridPane.add(arrayBtn[x],i,j);
x++;

vBox.getChildren().addAll(txtResultado,gridPane);

scene = new Scene(vBox,400,600);

scene.getStylesheets().add("Estilos/calculadora.css");

this.setScene(scene);

this.setTitle("Calculadora");

this.show();

this.setResizable(false);

public boolean error = false;

public char op;

public Double calculate;

public boolean finalOp = true;

public void Evento(String boton){

switch (boton){

case "AC":

txtResultado.setText("");

calculate = 0.0;

error = false;

finalOp = true;

break;

case "+":
if(finalOp&&!"".equals(txtResultado.getText())&&!".".equals(txtResultado.getText())){

calculate = Double.parseDouble(txtResultado.getText());

txtResultado.setText("");

op = '+';

finalOp = false;

else{

op = '+';

txtResultado.setText("");

break;

case "-":

if(finalOp&&!"".equals(txtResultado.getText())&&!".".equals(txtResultado.getText())){

calculate = Double.parseDouble(txtResultado.getText());

txtResultado.setText("");

op = '-';

finalOp = false;

else{

op = '-';

txtResultado.setText("");

break;

case "/":

if(finalOp&&!"".equals(txtResultado.getText())&&!".".equals(txtResultado.getText())){
calculate = Double.parseDouble(txtResultado.getText());

txtResultado.setText("");

op = '/';

finalOp = false;

else{

op = '/';

txtResultado.setText("");

break;

case "*":

if(finalOp&&!"".equals(txtResultado.getText())&&!".".equals(txtResultado.getText())){

calculate = Double.parseDouble(txtResultado.getText());

txtResultado.setText("");

op = '*';

finalOp = false;

else{

op = '*';

txtResultado.setText("");

break;

case ".":

if(!txtResultado.getText().contains("."))

txtResultado.appendText(".");
break;

case "√":

if(!"".equals(txtResultado.getText())&&!".".equals(txtResultado.getText())){

double r = Double.parseDouble(txtResultado.getText());

if(r>0){

txtResultado.setText(String.valueOf(Math.sqrt(r)));

else{

txtResultado.setText("MATH ERROR");

error = true;

else

finalOp = false;

break;

case "x^2":

if(!"".equals(txtResultado.getText())&&!".".equals(txtResultado.getText())){

double w = Double.parseDouble(txtResultado.getText());

txtResultado.setText(""+(w*w));

else

finalOp = false;

break;

case "+/-":

if(!"".equals(txtResultado.getText())&&!".".equals(txtResultado.getText())){
double q = Double.parseDouble(txtResultado.getText());

q = q*-1;

txtResultado.setText(""+q);

else

finalOp = false;

break;

case "=":

if(!"".equals(txtResultado.getText())&&!".".equals(txtResultado.getText())){

switch(op){

case '+':

txtResultado.setText(""+(calculate+Double.parseDouble(txtResultado.getText())));

break;

case '-':

txtResultado.setText(""+(calculate-Double.parseDouble(txtResultado.getText())));

break;

case '*':

txtResultado.setText(""+(calculate*Double.parseDouble(txtResultado.getText())));

break;

case '/':

txtResultado.setText(""+(calculate/Double.parseDouble(txtResultado.getText())));

break;

finalOp = true;
break;

default:

if(!error)

txtResultado.appendText(boton);

package sample;

import javafx.application.Application;

import javafx.scene.Scene;

import javafx.scene.chart.BarChart;

import javafx.scene.chart.CategoryAxis;

import javafx.scene.chart.NumberAxis;

import javafx.scene.chart.XYChart;

import javafx.scene.layout.HBox;

import javafx.stage.Stage;

public class Main extends Application {

@Override

public void start(Stage stage) {

initUI(stage);

}
private void initUI(Stage stage) {

HBox root = new HBox();

Scene scene = new Scene(root, 480, 330);

CategoryAxis xAxis = new CategoryAxis();

NumberAxis yAxis = new NumberAxis();

yAxis.setLabel("Gold medals");

BarChart barChart = new BarChart<>(xAxis, yAxis);

barChart.setTitle("Olympic gold medals in London");

XYChart.Series data = new XYChart.Series<String, Number>();

data.getData().add(new XYChart.Data<>("USA", 46));

data.getData().add(new XYChart.Data<>("China", 38));

data.getData().add(new XYChart.Data<>("UK", 29));

data.getData().add(new XYChart.Data<>("Russia", 22));

data.getData().add(new XYChart.Data<>("South Korea", 13));

data.getData().add(new XYChart.Data<>("Germany", 11));

barChart.getData().add(data);

barChart.setLegendVisible(false);
root.getChildren().add(barChart);

stage.setTitle("BarChart");

stage.setScene(scene);

stage.show();

public static void main(String[] args) {

launch(args);

You might also like