Написать подобие своей консоли на Java

99
30 ноября 2020, 12:00

Возникла задача написать что-то на подобии консоли на Java. Чисто для вывода в нее информации. Предполагается что будет текстовое поле, которое к примеру должно содержать 15 строк текста, и в нее построчно что-бы выводились сообщения. Но если допустим строк в консоли стало больше 15, то последнюю удаляем. Не пойму как бы это реализовать.

В голове есть идея использовать ArrayList, куда будут попадать сообщения. Если сообщений будет больше 15, то первый элемент будем удалять.

Answer 1

Выпив кофе с горьким шоколадом пришел вот к такой реализации. Может кому-то будет полезно.

StringBuffer consoleStringBuffer = new StringBuffer();
ArrayList<String> consoleStrings = new ArrayList<>();
private void sendMessageToConsole(String message) {
    consoleStrings.add(message);
    if (consoleStrings.size() > 15) {
        consoleStrings.remove(0);
        consoleStringBuffer.delete(0, consoleStringBuffer.length());
        for (String msg : consoleStrings) {
            consoleStringBuffer.append(msg);
        }
    } else {
        consoleStringBuffer.append(consoleStrings.get(consoleStrings.size() - 1));
    }
    consoleEditText.setText(consoleStringBuffer.toString());
}
READ ALSO
Как обеспечить доступ JavaFX-контроллерам к primaryStage с помощью Spring без жесткого связывания?

Как обеспечить доступ JavaFX-контроллерам к primaryStage с помощью Spring без жесткого связывания?

На момент написания данного вопроса я нахожусь в самом начале понимания концепции инъекции зависимости, и всё, что умею делать с ApplicationContext...

107
java работа с текстом

java работа с текстом

Есть текстовый фаил, в котором записано следующие:

112
Вопрос по дженерикам метода и ограничению переменных типов

Вопрос по дженерикам метода и ограничению переменных типов

Сейчас активно изучаю (или даже разбираю) известное пособие Хорстмена и Корнелла по Java2В данный момент остановился на параметризации

110
Java / C# Почему одна функция с одинаковыми параметрами показывает разное время выполнения?

Java / C# Почему одна функция с одинаковыми параметрами показывает разное время выполнения?

Во время написания программы у меня возник вопрос, ответ на который я не смог найтиЯ замеряю время выполнения одной функции в наносекундах...

97