/
YuriSoul
/
MyJavaLibs
Обзор
Документация
Войти
/
YuriSoul
/
MyJavaLibs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
MyLibs/src/consolGUI/msgProces/MsgViewer.java
123 строки
4 KB
YuriSoul
Классы MsgConstructor, MsgWiewer, подпакета msgProces и класс
09 ноя 2025, 20:36
09 ноя 2025, 20:36
a0d85fb
Код
Авторство
О чём код?
package consolGUI.msgProces; import java.util.ArrayList; //import testDB.LoadTimeController; //import testDB.data.AppData; //import testDB.data.DataMSG; //СТАРТОВОЕ ОКНО ПРИЛОЖЕНИЯ public class MsgViewer { //ПАРАМЕТРЫ ОКНА private int width; //ШИРИНА ОКНА private int height; //ВЫСОТА ОКНА private final String viewBordersWin = "*"; //ВНЕШНИЙ ВИД ГРАНИЦ ОКНА private final int topIndent = 7; //ОТСТУП ГРАНИЦ ОКНА СВЕРХУ private final int leftIndent = 40; //ОТСТУП ГРАНИЦ ОКНА СЛЕВА private MsgConstructor ms; //СООБЩЕНИЕ ОКНА //КОНСТРУКТОР ОКНА MsgViewer(MsgConstructor msg){ this.ms = msg; //сообщение окна calcWidthWindow(); } //РАСЧЕТ ПАРАМЕТРОВ ОКНА СООБЩЕНИЯ //РАСЧЕТ ПОЛНОЙ ШИРИНЫ ОКНА //ширина окна = максимальная ширина строки сообщения + //4 символа: (2 символа это (левая граница + отступ) //и 2 символа это (отступ + правая граница)) private void calcWidthWindow() { width = ms.getMaxLengthStrMSG() + 4; } //ДОСТУП К ПАРАМЕТРАМ ОКНА СООБЩЕНИЯ //ПОЛУЧИТЬ ВНЕШНИЙ ВИД ГРАНИЦ ОКНА private String getViewBordersWin() { return viewBordersWin; } //ПОЛУЧИТЬ ПОЛНУЮ ШИРИНУ ОКНА private int getWidthWindow() { return width; } //ПЕЧАТЬ ОКНА СООБЩЕНИЯ //ПЕЧАТЬ ВЕРХНЕЙ (НИЖНЕЙ) ГРАНИЦЫ private void printUpDownBorderMSG() { printLeftIndent(); for (int i = 0; i < getWidthWindow(); i++) { System.out.print(getViewBordersWin()); } System.out.println(); } //ПЕЧАТЬ СООБЩЕНИЯ И БОКОВЫХ ГРАНИЦ ОКНА private void printMSGInWindow() { int numAddChar = 0; for (String stringMSG : ms.getMSG()) { printLeftIndent(); numAddChar = ms.getMaxLengthStrMSG() - stringMSG.length(); System.out.print("* " + stringMSG); //печать начала строки и строки текста сообщения printExtraSpaces(numAddChar); //печать дополнительных пробелов в конце сообщения System.out.println(" *"); //печать конца строки с сообщением } } //ПЕЧАТЬ ДОПОЛНИТЕЛЬНЫХ ПРОБЕЛОВ private void printExtraSpaces(int numAddChar) { for (int i = 0; i < numAddChar; i++) { System.out.print(" "); } } //ПЕЧАТЬ ОТСТУПОВ ОКНА СВЕРХУ public void printTopIndent() { int indentСounter = topIndent; while (indentСounter > 0) { System.out.println(); indentСounter--; } } //ПЕЧАТЬ ОТСТУПОВ ОКНА СЛЕВА public void printLeftIndent() { int indentСounter = leftIndent; while (indentСounter > 0) { System.out.print(" "); indentСounter--; } } //ОТОБРАЖЕНИЕ ОКНА С СООБЩЕНИЕМ public void showWinMSG() { printTopIndent(); printUpDownBorderMSG(); printMSGInWindow(); printUpDownBorderMSG(); } public static void main(String[] args) throws InterruptedException { //LoadTimeController loadTimeController = new LoadTimeController(); //ConstructorMSG constrMSG = new ConstructorMSG(); //AppData appData = new AppData(); //DataMSG appMSG = new DataMSG(); MsgConstructor ms = new MsgConstructor("Белая береза,", "Под моим окном,", "Приукрылась снегом,", "Словно серебром)))"); //MSG ms = constrMSG.createMSG(appMSG.getWelcom(), appData.getNameApp(), appData.getVersionApp()); MsgViewer winMSG = new MsgViewer(ms); //System.out.println(appMSG.getLaunchAppLine()); winMSG.showWinMSG(); //System.out.print(appMSG.getLoadAppLine()); //loadTimeController.timeOutAppWithProgBar(5); } }