Есть программа на java, нужно создать графическую оболочку
Нужно создать программу, чтобы человек вводил названия фруктов и их количество, а потом выводилась сумма, используя графический интерфейс, то есть ввод и вывод не через консоль а в отдельном окошечке, с отдельным полем для ввода и выводом (и при возможности кнопкой "посчитать"). Есть код программы, но не могу разобраться, как добавить графический интерфейс. Код программы, к которой нужно добавить графический интерфейс:
package com.somepackage;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws Exception {
Pattern pattern =
Pattern.compile("^([А-Яа-я]+) - (\\d+)$");
Map<String, Integer> fruits = new HashMap<>();
BufferedReader reader =
new BufferedReader(
new InputStreamReader(System.in));
while (true) {
String x = reader.readLine();
if (x.equals("=")) {
System.out.println(
String.join(", ", fruits.keySet()) + " - " +
fruits.values().stream().mapToInt(Integer::intValue).sum());
break;
}
Matcher matcher = pattern.matcher(x);
if (matcher.matches()) {
String fruit = matcher.group(1);
Integer count =
Integer.parseInt(
matcher.group(2));
fruits.put(fruit, count);
}
}
}
}
Ответы (1 шт):
Вам нужен JavaFX.
Если не позволяет религия, можно конечно посмотреть в сторону Java Swing - но это уже уходящая технология. Не советую тратить время на его изучение.
Краткий туториал по JavaFX здесь
По сути вам надо нарисовать окошко (в терминах JavaFX Scene) с несколькими текстовыми виджетами (в терминах JavaFX TextField), куда будут вводиться названия фруктов и окошко вывода (в терминах JavaFX TextArea), куда будет выводиться результат парсинга.
Окошко можно нарисовать с помощью JavaFX Scene Builder весь расчет "посадить" на событие нажатия кнопки (в терминах JavaFX Button)