Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hw2.task1;
- import javafx.application.Application;
- import javafx.geometry.Pos;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.Label;
- import javafx.scene.control.TextField;
- import javafx.scene.layout.*;
- import javafx.scene.text.Font;
- import javafx.scene.text.FontWeight;
- import javafx.stage.Stage;
- import java.util.ArrayList;
- import java.util.LinkedList;
- import java.util.concurrent.atomic.AtomicInteger;
- public class Main extends Application {
- @Override
- public void start(Stage primaryStage) {
- Label welcome = new Label("Enter celsius temperatures");
- welcome.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
- Button addButt = new Button();
- addButt.setText("+");
- Button createButt = new Button();
- createButt.setText("Create table");
- GridPane root = new GridPane();
- root.setHgap(10);
- root.setVgap(10);
- root.setAlignment(Pos.CENTER);
- root.add(addButt, 1, 0);
- root.add(welcome, 0, 0);
- root.add(createButt, 2, 0);
- Scene scene = new Scene(root, 500, 500);
- primaryStage.setTitle("Table of temperature");
- primaryStage.setScene(scene);
- primaryStage.show();
- AtomicInteger n = new AtomicInteger(1);
- LinkedList<TextField> listText = new LinkedList<TextField>();
- addButt.setOnAction(event -> {
- n.getAndIncrement();
- var field = new TextField();
- root.add(field, 0, n.get());
- listText.add(field);
- });
- ArrayList<Label> kelvinList = new ArrayList<Label>();
- ArrayList<Label> fahrList = new ArrayList<Label>();
- createButt.setOnAction(event -> {
- try {
- for (int i = 0; i < listText.size(); i++) {
- if (i >= kelvinList.size()) {
- var kelvin = new Label(Double.parseDouble(listText.get(i).getText()) + 273.15 + " K");
- var fahr = new Label(Math.round(Double.parseDouble(listText.get(i).getText()) * 1.8 + 32) + " °F");
- root.add(kelvin, 1, i + 2);
- root.add(fahr, 2, i + 2);
- fahrList.add(fahr);
- kelvinList.add(kelvin);
- } else {
- kelvinList.get(i).setText(Double.parseDouble(listText.get(i).getText()) + 273.15 + " K");
- fahrList.get(i).setText(Math.round(Double.parseDouble(listText.get(i).getText()) * 1.8 + 32) + " °F");
- }
- }
- createButt.setText("Create table");
- } catch (NumberFormatException e) {
- createButt.setText("Only number!");
- }
- });
- }
- public static void main(String[] args) {
- launch(args);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement