Курсова робота Бойцової Марії Павлівни |
27 |
6 ІНСТРУКЦІЯ З ЕКСПЛУАТАЦІЇ ПРОГРАМНОГО ПРОДУКТУ
Для того щоб запустити програмний продукт потрібно отримати файл програми типу *.jar.
Для того щоб почати користуватись програмним продуктом потрібно двічі натиснути ЛКМ на виконуваний файл або запустити його з командного рядка через команду java –jar (шлях до виконуваного файлу).
Після вище вказаних дій відкривається вікно програми.
Далі можна записати в нього нове значення (Рисунок 5.2). Ввівши потрібні значення в відповідні комірки потрібно натиснути кнопку «Занести в буфер» для додавання в цього значення в пам’ять програми, після цього вже натиснути «Записати в файл» для збереження в файл.
Для виводу значень потрібно натиснути «Вивести дані з файлу», після чого буду виведено всі значення в спеціальне поле (Рисунок 5.1).
Також в програмі можна здійснити пошук по даним, для цього потрібно розгорнути відповідне поле та ввести шукане значення та вказати категорію в якій потрібно шукати дане значення, приклад роботи з цією областю показаний на рисунку 5.6. Також в цій області доступне редагування вже знайденого значення. Для редагування потрібно після пошуку ввести нове значення, яке буде знаходитись в відповідному місці.
Курсова робота Бойцової Марії Павлівни |
28 |
ВИСНОВКИ
Java представляє можливість розробки корпоративних кросплатформних додатків. Крос-платформність досягається завдяки віртуальній Java-машині, або JVM. На відміну від інших мов програмування, Java є кромплатформною мовою на етапі виконання. Під час компіляції код програми конвертується у проміжний байт-код, а при виконанні програми – у машинний код. Такий підхід дозволяє використовувати одну версію програми на різних операційних системах.
JavaFX дозволяє створювати додатки з гнучким інтерфейсом, незалежно від платформи та є сучасним засобом створення користувацького інтерфейсу. Оскільки JavaFX пропонує декілька типів компанувальників, створення інтерфейсу стає легшим, а його редагування більш доступним.
Сучасна технологія колекцій спрощує роботу з групою об'єктів, лямбда вирази спрощують написання коду, передаючи обробку події в код функції обробника.
У результаті був створений крос-платформний додаток на мові Java із використанням засобів JavaFX. Додаток виконує наступні завдання: користувацький інтерфейс, робота з файловою системою , робота з методами, класами та об’єктами. Додаток можна запустити на будь-якій платформі, наприклад, на Windows, Linux або MacOS. Головною умовою використання додатку на різних система є наявність JVM.
Курсова робота Бойцової Марії Павлівни |
29 |
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1.Швець Н.В. Конспект лекцій з курсу «Крос-платформне програмування». О.: ОНАПТ, 2017.
2.Шилдт Г. Java. Полное руководство, 8-е изд.: Пер. с англ. – М.:
ООО «И.Д. Вильямс», 2017. – 1376 с.
3.Шилдт Г. Java. Руководство для начинающих. О, 2019. 812 с.
Курсова робота Бойцової Марії Павлівни |
30 |
ДОДАТОК А
Клас MoveCountRealisation:
package ClassMoveCount; import java.io.BufferedReader; import java.io.File;
import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.*;
import javafx.application.Application; import javafx.application.Platform; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.HPos;
import javafx.geometry.Insets; import javafx.scene.Scene;
import javafx.scene.control.Alert; import javafx.scene.control.Button; import javafx.scene.control.ComboBox; import javafx.scene.control.DialogPane; import javafx.scene.control.Label; import javafx.scene.control.Menu; import javafx.scene.control.MenuBar; import javafx.scene.control.MenuItem;
import javafx.scene.control.SeparatorMenuItem; import javafx.scene.control.TextArea;
import javafx.scene.control.TextField; import javafx.scene.control.TitledPane; import javafx.scene.layout.GridPane; import javafx.scene.text.Font;
import javafx.stage.Stage; import javax.swing.ButtonGroup;
public class MoveCountRealisation extends Application{ ArrayList<MoveCount> addList = new ArrayList<MoveCount>(); ArrayList<MoveCount> readList = new ArrayList<MoveCount>(); ArrayList<MoveCount> searchList = new ArrayList<MoveCount>(); ArrayList<Integer> indexOfFindList = new ArrayList<Integer>(); ArrayList<MoveCount> readListEvery = new ArrayList<MoveCount>();
@Override
public void start(Stage stage) throws Exception {
//Меню файла
MenuBar menubar = new MenuBar();
Menu fileButton = new Menu("Файл");
MenuItem aboutButton = new MenuItem ( "Про роботу"); MenuItem exitButton = new MenuItem("Вихід"); fileButton.getItems().addAll(aboutButton,new
SeparatorMenuItem(),exitButton); menubar.getMenus().add(fileButton);
//Меню налаштувань
Курсова робота Бойцової Марії Павлівни |
31 |
//Зміна кольору
Menu settings= new Menu("Вигляд"); Menu font = new Menu("Шрифт");
Menu colorsMenu=new Menu("Змінити колір"); MenuItem red = new MenuItem("Червоний"); MenuItem blue = new MenuItem("Блакитний"); MenuItem yellow = new MenuItem("Жовтий"); MenuItem green = new MenuItem("Зелений"); //Зміна шрифту
ButtonGroup buttonGroup = new ButtonGroup();
MenuItem TimesNewRoman = new MenuItem("Times New Roman"); MenuItem Courier = new MenuItem("Courier"); menubar.getMenus().add(settings); settings.getItems().addAll(colorsMenu, font); colorsMenu.getItems().addAll(red,blue,yellow,green); font.getItems().addAll(TimesNewRoman, Courier);
EventHandler<ActionEvent> MenuHandler = (ActionEvent actionEvent) ->
{
String name = ((MenuItem)actionEvent.getTarget()).getText(); if(name.equals("Вихід"))Platform.exit();
};
exitButton.setOnAction(MenuHandler);
red.setOnAction(MenuHandler);
blue.setOnAction(MenuHandler);
yellow.setOnAction(MenuHandler);
green.setOnAction(MenuHandler);
aboutButton.setOnAction(MenuHandler);
TimesNewRoman.setOnAction(MenuHandler);
Courier.setOnAction(MenuHandler);
//Параметри сцени stage.setTitle("Розрахунок руху");
GridPane gridpane=new GridPane(); gridpane.setPadding(new Insets(0,20,20,20)); gridpane.setVgap(10);
gridpane.setHgap(15);
Scene scene=new Scene(gridpane,900,550); stage.setScene(scene); stage.setResizable(false);
//Додавання заголовків та текстових полів для вводу
Label windLineLabel=new Label("Повітряна лінія"); Label planeTypeLabel=new Label("Тип літака");
Label raceQuantityLabel=new Label("Кількість рейсів"); Label distanceLabel=new Label("Наліт, км" );
Label passengerKmLabel=new Label("Пасажирообіг, люд/км");
TextField windLineText= new TextField(); windLineText.setPromptText("Введіть повітряну лінію");
TextField planeTypeText= new TextField(); planeTypeText.setPromptText("Введіть тип літака");
TextField raceQuantityText= new TextField(); raceQuantityText.setPromptText("Введіть кількість рейсів");
TextField distanceText= new TextField(); distanceText.setPromptText("Введіть наліт, км");
TextField passengerKmText= new TextField();
Курсова робота Бойцової Марії Павлівни |
32 |
passengerKmText.setPromptText("Введіть пасажирообіг");
Button addToBufButton = new Button("Занести у буфер"); Button writeToFileButton = new Button("Записати у файл"); Label bufLabel=new Label ("Кількість строк у буфері");
windLineLabel.setFont(new Font ("Arial",12)); planeTypeLabel.setFont(new Font ("Arial",12)); raceQuantityLabel.setFont(new Font ("Arial",12)); distanceLabel.setFont(new Font ("Arial",12)); passengerKmLabel.setFont(new Font ("Arial",12)); bufLabel.setFont(new Font ("Arial",12));
windLineText.setPrefSize(220,20);
planeTypeText.setPrefSize(220,20);
raceQuantityText.setPrefSize(220,20);
distanceText.setPrefSize(220,20);
passengerKmText.setPrefSize(220,20);
addToBufButton.setFont(new Font ("Arial",12)); addToBufButton.setPrefSize(220,20); writeToFileButton.setFont(new Font ("Arial",12)); writeToFileButton.setPrefSize(220,20);
//Розташування на сцені
TitledPane titledPane=new TitledPane(); titledPane.setText("Введення даних");
GridPane gridPane1=new GridPane(); gridPane1.setPadding(new Insets (10,20,20,20)); gridPane1.setVgap(5);
gridPane1.setHgap(10); gridPane1.setStyle("-fx-background-color: #FFFFFF");
GridPane.setConstraints(windLineLabel, 0, 1); GridPane.setHalignment(windLineLabel, HPos.LEFT); gridPane1.getChildren().add(windLineLabel); GridPane.setConstraints(windLineText, 0, 2); gridPane1.getChildren().add(windLineText);
GridPane.setConstraints(planeTypeLabel,0,4); GridPane.setHalignment(planeTypeLabel,HPos.LEFT); gridPane1.getChildren().add(planeTypeLabel); GridPane.setConstraints(planeTypeText, 0, 5); gridPane1.getChildren().add(planeTypeText);
GridPane.setConstraints(raceQuantityLabel,0,8); GridPane.setHalignment(raceQuantityLabel,HPos.LEFT); gridPane1.getChildren().add(raceQuantityLabel); GridPane.setConstraints(raceQuantityText, 0, 9); gridPane1.getChildren().add(raceQuantityText);
GridPane.setConstraints(distanceLabel,0,12); GridPane.setHalignment(distanceLabel,HPos.LEFT); gridPane1.getChildren().add(distanceLabel); GridPane.setConstraints(distanceText, 0, 13); gridPane1.getChildren().add(distanceText);
GridPane.setConstraints(passengerKmLabel,0,16); GridPane.setHalignment(passengerKmLabel,HPos.LEFT); gridPane1.getChildren().add(passengerKmLabel); GridPane.setConstraints(passengerKmText, 0, 17); gridPane1.getChildren().add(passengerKmText);
Курсова робота Бойцової Марії Павлівни |
33 |
GridPane.setConstraints(addToBufButton,0,20); gridPane1.getChildren().add(addToBufButton); GridPane.setConstraints(bufLabel,0,24); gridPane1.setColumnSpan(bufLabel,3); GridPane.setHalignment(bufLabel,HPos.LEFT); gridPane1.getChildren().add(bufLabel); GridPane.setConstraints(writeToFileButton,0,28); gridPane1.getChildren().add(writeToFileButton);
//Меню
GridPane.setConstraints(menubar, 0, 0); gridPane1.setColumnSpan(menubar,11); gridpane.getChildren().add(menubar);
titledPane.setCollapsible(false);
titledPane.setContent(gridPane1);
GridPane.setConstraints(titledPane,0,1); GridPane.setColumnSpan(titledPane,4); gridpane.getChildren().add(titledPane);
TextArea textArea=new TextArea(); textArea.setPrefSize(400,437); textArea.setPromptText("Дані з файлу:");
Button readFileButton=new Button ("Вивести дані з файлу"); readFileButton.setFont(new Font("Arial",12)); readFileButton.setPrefSize(200,20);
Button clearButton=new Button ("Очистити"); clearButton.setFont(new Font("Arial",12)); clearButton.setPrefSize(200,20);
Button searchButton=new Button("Пошук"); searchButton.setFont(new Font("Arial",12));
Button editButton=new Button("Зміна даних"); editButton.setFont(new Font("Arial",12));
ComboBox choiceComboBox= new ComboBox(); choiceComboBox.setPromptText("Оберіть дані"); choiceComboBox.getItems().add("Повітряна лінія"); choiceComboBox.getItems().add("Тип літака"); choiceComboBox.getItems().add("Кількість рейсів"); choiceComboBox.getItems().add("Наліт"); choiceComboBox.getItems().add("Пасажирообіг");
TextField searchText = new TextField(); searchText.setPromptText("Введіть поле для пошуку");
TextField editText = new TextField(); editText.setPromptText("Введіть дані для заміни");
TitledPane TpanelArray = new TitledPane(); GridPane gridArray = new GridPane(); gridArray.setPadding(new Insets(10)); gridArray.setVgap(5); gridArray.setHgap(10);
gridArray.setStyle("-fx-background-color: #FFFFFF");
TpanelArray.setCollapsible(false);
TpanelArray.setText("Виведення");
TpanelArray.setContent(gridArray);
Курсова робота Бойцової Марії Павлівни |
34 |
TitledPane searchTitledPanel = new TitledPane(); searchTitledPanel.setPrefSize(150,200); searchTitledPanel.setText("Пошук");
GridPane searchGridPanel = new GridPane(); searchGridPanel.setPadding(new Insets(20)); searchGridPanel.setVgap(10); searchGridPanel.setHgap(10); searchGridPanel.setStyle("-fx-background-color:#FFFFFF");
GridPane.setConstraints(searchText,1,0); searchGridPanel.getChildren().add(searchText);
GridPane.setConstraints(searchButton,1,1); GridPane.setHalignment(searchButton,HPos.RIGHT); searchGridPanel.getChildren().add(searchButton);
GridPane.setConstraints(choiceComboBox,1,2); searchGridPanel.getChildren().add(choiceComboBox);
GridPane.setConstraints(editText,1,3); GridPane.setHalignment(editText,HPos.RIGHT); searchGridPanel.getChildren().add(editText);
GridPane.setConstraints(editButton,1,4); GridPane.setHalignment(editButton,HPos.RIGHT); searchGridPanel.getChildren().add(editButton);
searchTitledPanel.setContent(searchGridPanel);
GridPane.setConstraints(searchTitledPanel,4,4); gridArray.getChildren().add(searchTitledPanel);
GridPane.setConstraints(textArea,0,0); GridPane.setColumnSpan(textArea,4); GridPane.setRowSpan(textArea,5); gridArray.getChildren().add(textArea);
GridPane.setConstraints(readFileButton,4,0); GridPane.setHalignment(readFileButton,HPos.RIGHT); gridArray.getChildren().add(readFileButton);
GridPane.setConstraints(clearButton,4,2); GridPane.setHalignment(clearButton,HPos.RIGHT); gridArray.getChildren().add(clearButton);
GridPane.setConstraints(TpanelArray, 8, 1); GridPane.setColumnSpan(TpanelArray,2); gridpane.getChildren().add(TpanelArray);
//ОБРОБКА ПОДІЙ //Додавання у буфер
addToBufButton.setOnAction((ActionEvent event) ->
{
MoveCount moveCount;
if (!windLineText.getText().isEmpty()&&!planeTypeText.getText().isEmpty()&&!race QuantityText.getText().isEmpty()&&!distanceText.getText().isEmpty()&&!passeng erKmText.getText().isEmpty())
{
try
{
Курсова робота Бойцової Марії Павлівни |
35 |
String w_line=windLineText.getText().toUpperCase(); String plane_t=planeTypeText.getText().toUpperCase(); int
race_q=Integer.parseInt(raceQuantityText.getText().toUpperCase()); double
dist=Double.parseDouble(distanceText.getText().toUpperCase()); double
hum_km=Double.parseDouble(passengerKmText.getText().toUpperCase()); moveCount = new MoveCount(w_line, plane_t, race_q, dist,
hum_km);
addList.add(moveCount);
}
catch(Exception e)
{
System.out.println("Помилка! "+e.getMessage());
}
windLineText.clear();
planeTypeText.clear();
raceQuantityText.clear();
distanceText.clear();
passengerKmText.clear();
bufLabel.setText("Кількість строк у буфері: " + addList.size());
}
else
{
Alert alert=new Alert(Alert.AlertType.WARNING); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: #e0e04c"); alert.setTitle("Помилка!"); alert.setHeaderText("Введіть усі дані!"); alert.setContentText(null);
alert.showAndWait();
}
});
//Запис у файл writeToFileButton.setOnAction((ActionEvent event)->{
if (addList.isEmpty() )
{
Alert alert=new Alert(Alert.AlertType.ERROR); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: #FF6347"); alert.setTitle("Помилка!");
alert.setHeaderText("Щоб записати в файл, введіть дані!"); alert.setContentText(null);
alert.showAndWait();
}
else
{
try(PrintWriter out = new PrintWriter(new FileWriter("E:\\movecount.dat",true))){
Iterator<MoveCount> iterator = addList.iterator(); while(iterator.hasNext()){
MoveCount element; element = iterator.next(); element.writeData(out);
}
bufLabel.setText("Всі строки додано у файл"); addList.clear();
}
catch(IOException e)
{
e.printStackTrace();
Курсова робота Бойцової Марії Павлівни |
36 |
}
}
});
//Читання з файлу readFileButton.setOnAction((ActionEvent event) -> {
textArea.clear();
readList.clear();
String s;
MoveCount obj;
File fl=new File("E:\\movecount.dat"); if(!fl.exists() || fl.length()==0)
{
Alert alert=new Alert(Alert.AlertType.ERROR); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: darkgrey"); alert.setTitle("Помилка!");
alert.setHeaderText("Файл пустий або його не існує."); alert.setContentText(null);
alert.showAndWait();
}
else
{
try( BufferedReader in=new BufferedReader(new FileReader(fl)))
{
while( (s=in.readLine())!=null)
{
obj=new MoveCount(); obj.readData(s,in); readList.add(obj);
}
for(int i=0;i<readList.size();i++)
{
// textArea.appendText(readList.get(i)+"\n"); obj=new MoveCount();
obj= readList.get(i);
String text=String.format("Повітряна лінія: %s\nТип літака: %s\nКількість рейсів: %3d\nНаліт: %.0f\nПасажирообіг:%.0f\n",obj.getWindLine(),
obj.getPlaneType(), obj.getRaceQuantity(), obj.getDistance(), obj.getPassengerKm());
textArea.appendText(text+"\n");
}
}
catch(IOException exception)
{
exception.printStackTrace();
}
}
});
//Пошук у файлі searchButton.setOnAction((ActionEvent event) -> {
textArea.clear();
Курсова робота Бойцової Марії Павлівни |
37 |
indexOfFindList.clear(); boolean flag=false; MoveCount mc;
if(!searchText.getText().isEmpty()){ for(int i=0; i<readList.size(); i++){
mc = readList.get(i);
if(mc.getWindLine().equals(searchText.getText().toUpperCase())){ flag = true; textArea.appendText(mc+"\n"); indexOfFindList.add(i);
}
}
//for(int i=0; i<readList.size(); i++) //textArea.appendText(indexOfFindList.get(i)+"\n");
if(!flag){
Alert alert=new Alert(Alert.AlertType.ERROR); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: #FFFFFF"); alert.setTitle("Помилка!"); alert.setHeaderText("Файл не знайдено!"); alert.setContentText(null);
alert.showAndWait();
}}
else{
Alert alert=new Alert(Alert.AlertType.ERROR); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: #FFFFFF"); alert.setTitle("Помилка!"); alert.setHeaderText("Введіть дані для пошуку"); alert.setContentText(null);
alert.showAndWait();
}
});
//Зміна даних editButton.setOnAction((ActionEvent event) -> {
String m1 = "Повітряна лінія"; String m2 = "Тип літака"; String m3 = "Кількість рейсів"; String m4 = "Наліт";
String m5 = "Пасажирообіг";
MoveCount moveCount = null; if(indexOfFindList.isEmpty()){
Alert alert=new Alert(Alert.AlertType.ERROR); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: #FFFFFF"); alert.setTitle("Помилка!"); alert.setHeaderText("Дані не знайдено."); alert.setContentText(null);
alert.showAndWait();
}
else{
if(choiceComboBox.getValue()==null || editText.getText().isEmpty()){
Alert alert=new Alert(Alert.AlertType.ERROR); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: #FFFFFF"); alert.setTitle("Помилка!"); alert.setHeaderText("Дані не знайдено."); alert.setContentText(null);
alert.showAndWait();
Курсова робота Бойцової Марії Павлівни |
38 |
}
else{
if(choiceComboBox.getValue().toString()== m1){ for(int i=0; i<indexOfFindList.size(); i++){
moveCount = readList.get(indexOfFindList.get(i));
moveCount.setWindLine(editText.getText().toUpperCase()); readList.set(indexOfFindList.get(i), moveCount);
}
}
if(choiceComboBox.getValue().toString()==m2){ for(int i=0; i<indexOfFindList.size(); i++){
moveCount = readList.get(indexOfFindList.get(i));
moveCount.setPlaneType(editText.getText().toUpperCase()); readList.set(indexOfFindList.get(i), moveCount);
}
}
if(choiceComboBox.getValue().toString()==m3){ for(int i=0; i<indexOfFindList.size(); i++){
moveCount = readList.get(indexOfFindList.get(i));
moveCount.setRaceQuantity(Integer.parseInt(editText.getText().toUpperCase()))
;
readList.set(indexOfFindList.get(i), moveCount);
}
}
if(choiceComboBox.getValue().toString()==m4){ for(int i=0; i<indexOfFindList.size(); i++){
moveCount = readList.get(indexOfFindList.get(i));
moveCount.setDistance(Integer.parseInt(editText.getText())); readList.set(indexOfFindList.get(i), moveCount);
}
}
if(choiceComboBox.getValue().toString()==m5){ for(int i=0; i<indexOfFindList.size(); i++){
moveCount = readList.get(indexOfFindList.get(i));
moveCount.setPassengerKm(Integer.parseInt(editText.getText())); readList.set(indexOfFindList.get(i), moveCount);
}
}
textArea.appendText("\nДані успішно замінено:\n"); textArea.appendText(moveCount+"\n");
try (PrintWriter out = new PrintWriter(new FileWriter("E:\\movecount.dat"))){
Iterator<MoveCount> it = readList.iterator(); while(it.hasNext()) {
MoveCount element; element=it.next(); element.writeData(out);
}
}
catch(IOException e)
{
e.printStackTrace();
}
readList.clear();
}
}
Курсова робота Бойцової Марії Павлівни |
39 |
});
//Кнопки меню aboutButton.setOnAction((ActionEvent event ) -> {
Alert alert=new Alert(Alert.AlertType.INFORMATION); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: #F0F8FF"); alert.setTitle("Інформація про виконавця"); alert.setHeaderText("Робота Бойцової Марії,\nстудентки групи
332.\nОНАХТ, 2020 р."); alert.showAndWait();
});
clearButton.setOnAction((ActionEvent event ) -> { windLineText.clear();
planeTypeText.clear();
raceQuantityText.clear();
distanceText.clear();
passengerKmText.clear();
textArea.clear();
});
red.setOnAction((ActionEvent event ) -> { gridPane1.setStyle("-fx-background-color:#e30202"); gridArray.setStyle("-fx-background-color:#ba2323"); searchGridPanel.setStyle("-fx-background-color:#b35959");
windLineLabel.setStyle("-fx-text-fill: white"); planeTypeLabel.setStyle("-fx-text-fill: white"); raceQuantityLabel.setStyle("-fx-text-fill: white"); distanceLabel.setStyle("-fx-text-fill: white"); passengerKmLabel.setStyle("-fx-text-fill: white"); bufLabel.setStyle("-fx-text-fill: white");
});
Font font1 = new Font("Times New Roman",14); Font font2 = new Font("Courier",14);
TimesNewRoman.setOnAction((ActionEvent event ) -> { searchButton.setFont(font1); editButton.setFont(font1); textArea.setFont(font1); textArea.setStyle("-fx-text-fill: #4682B4");
});
Courier.setOnAction((ActionEvent event ) -> { searchButton.setFont(font2); editButton.setFont(font2); textArea.setFont(font2); textArea.setStyle("-fx-text-fill: #FFA500");});
blue.setOnAction((ActionEvent event ) -> { gridPane1.setStyle("-fx-background-color:#1871d6"); gridArray.setStyle("-fx-background-color:#439bd1"); searchGridPanel.setStyle("-fx-background-color:#3388bd");
windLineLabel.setStyle("-fx-text-fill: white"); planeTypeLabel.setStyle("-fx-text-fill: white"); raceQuantityLabel.setStyle("-fx-text-fill: white"); distanceLabel.setStyle("-fx-text-fill: white"); passengerKmLabel.setStyle("-fx-text-fill: white"); bufLabel.setStyle("-fx-text-fill: white");
});
yellow.setOnAction((ActionEvent event ) -> {
Курсова робота Бойцової Марії Павлівни |
40 |
gridPane1.setStyle("-fx-background-color:#F0E68C"); gridArray.setStyle("-fx-background-color:#F0E68C"); searchGridPanel.setStyle("-fx-background-color:#FFD700");
windLineLabel.setStyle("-fx-text-fill: black"); planeTypeLabel.setStyle("-fx-text-fill: black"); raceQuantityLabel.setStyle("-fx-text-fill: black"); distanceLabel.setStyle("-fx-text-fill: black"); passengerKmLabel.setStyle("-fx-text-fill: black"); bufLabel.setStyle("-fx-text-fill: black");
});
green.setOnAction((ActionEvent event ) -> { gridPane1.setStyle("-fx-background-color:darkgreen"); gridArray.setStyle("-fx-background-color:green"); searchGridPanel.setStyle("-fx-background-color:lightgreen");
windLineLabel.setStyle("-fx-text-fill: black"); planeTypeLabel.setStyle("-fx-text-fill: black"); raceQuantityLabel.setStyle("-fx-text-fill: black"); distanceLabel.setStyle("-fx-text-fill: black"); passengerKmLabel.setStyle("-fx-text-fill: black"); bufLabel.setStyle("-fx-text-fill: black");
});
stage.show();
}
static void errorM()
{
Alert alert=new Alert(Alert.AlertType.INFORMATION); DialogPane dialogPane=alert.getDialogPane(); dialogPane.setStyle("-fx-background-color: blue"); alert.setTitle("Поле не знайдено!"); alert.setHeaderText("Оберіть поле!"); alert.setContentText(null);
alert.showAndWait();
}
public static void main(String[] args) { launch(args);
}
}
Клас MoveCount
package ClassMoveCount;
import java.io.BufferedReader; import java.io.IOException; import java.io.PrintWriter; import java.util.StringTokenizer; import java.util.*;
//import java.util.Formatter;
public class MoveCount { private String windLine; private String planeType; private int raceQuantity; private double distance; private double passengerKm; public MoveCount(){
}
Курсова робота Бойцової Марії Павлівни |
41 |
public MoveCount(String windLine, String planeType, int raceQuantity, double distance, double passengerKm) {
this.windLine = windLine; this.planeType = planeType; this.raceQuantity = raceQuantity; this.distance = distance; this.passengerKm = passengerKm;
}
/*public void formattedPrint(){
try (Formatter formatter = new Formatter())
{
formatter.format("%20s %15s %13d %15.2f %11.2f", windLine,
planeType,
raceQuantity, distance, passengerKm); System.out.println(formatter);
}
}*/
public String getWindLine(){ return windLine;
}
public String getPlaneType(){ return planeType;
}
public int getRaceQuantity(){ return raceQuantity;
}
public double getDistance(){ return distance;
}
public double getPassengerKm(){ return passengerKm;
}
public void setWindLine(String windLine) { this.windLine = windLine;
}
public void setPlaneType(String planeType){ this.planeType=planeType;
}
public void setRaceQuantity(int raceQuantity){ this.raceQuantity = raceQuantity;
}
public void setDistance(double distance){ this.distance = distance;
}
public void setPassengerKm(double passengerKm){ this.passengerKm = passengerKm;
}
public String toString(){ return
windLine+"\t\t"+planeType+"\t\t"+raceQuantity+"\t\t"+distance+"\t\t"+passenge rKm+"\n";
}
public void writeData(PrintWriter printWriter){ printWriter.println(windLine+" "+planeType+" "+raceQuantity+"
"+distance+" "+passengerKm);
}
public void readData(String s, BufferedReader in) throws IOException {
StringTokenizer t = new StringTokenizer(s," "); windLine = t.nextToken();
planeType = t.nextToken();
raceQuantity = Integer.parseInt(t.nextToken());
Курсова робота Бойцової Марії Павлівни |
42 |
distance = Double.parseDouble(t.nextToken()); passengerKm = Double.parseDouble(t.nextToken());
}
}