Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. package hw2.task1;
  2.  
  3. import javafx.application.Application;
  4. import javafx.geometry.Pos;
  5. import javafx.scene.Scene;
  6. import javafx.scene.control.Button;
  7. import javafx.scene.control.Label;
  8. import javafx.scene.control.TextField;
  9. import javafx.scene.layout.*;
  10. import javafx.scene.text.Font;
  11. import javafx.scene.text.FontWeight;
  12. import javafx.stage.Stage;
  13.  
  14. import java.util.ArrayList;
  15. import java.util.LinkedList;
  16. import java.util.concurrent.atomic.AtomicInteger;
  17.  
  18. public class Main extends Application {
  19. @Override
  20. public void start(Stage primaryStage) {
  21. Label welcome = new Label("Enter celsius temperatures");
  22. welcome.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20));
  23. Button addButt = new Button();
  24. addButt.setText("+");
  25. Button createButt = new Button();
  26. createButt.setText("Create table");
  27. GridPane root = new GridPane();
  28. root.setHgap(10);
  29. root.setVgap(10);
  30. root.setAlignment(Pos.CENTER);
  31. root.add(addButt, 1, 0);
  32. root.add(welcome, 0, 0);
  33. root.add(createButt, 2, 0);
  34. Scene scene = new Scene(root, 500, 500);
  35. primaryStage.setTitle("Table of temperature");
  36. primaryStage.setScene(scene);
  37. primaryStage.show();
  38.  
  39. AtomicInteger n = new AtomicInteger(1);
  40. LinkedList<TextField> listText = new LinkedList<TextField>();
  41. addButt.setOnAction(event -> {
  42. n.getAndIncrement();
  43. var field = new TextField();
  44. root.add(field, 0, n.get());
  45. listText.add(field);
  46. });
  47. ArrayList<Label> kelvinList = new ArrayList<Label>();
  48. ArrayList<Label> fahrList = new ArrayList<Label>();
  49.  
  50. createButt.setOnAction(event -> {
  51. try {
  52. for (int i = 0; i < listText.size(); i++) {
  53. if (i >= kelvinList.size()) {
  54. var kelvin = new Label(Double.parseDouble(listText.get(i).getText()) + 273.15 + " K");
  55. var fahr = new Label(Math.round(Double.parseDouble(listText.get(i).getText()) * 1.8 + 32) + " °F");
  56. root.add(kelvin, 1, i + 2);
  57. root.add(fahr, 2, i + 2);
  58. fahrList.add(fahr);
  59. kelvinList.add(kelvin);
  60. } else {
  61. kelvinList.get(i).setText(Double.parseDouble(listText.get(i).getText()) + 273.15 + " K");
  62. fahrList.get(i).setText(Math.round(Double.parseDouble(listText.get(i).getText()) * 1.8 + 32) + " °F");
  63. }
  64. }
  65. createButt.setText("Create table");
  66. } catch (NumberFormatException e) {
  67. createButt.setText("Only number!");
  68. }
  69. });
  70. }
  71.  
  72. public static void main(String[] args) {
  73. launch(args);
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement