Terminal

De Wiki do Leitão
Ir para: navegação, pesquisa

Terminal

A classe Terminal do projeto RFW.Terminal fornece uma interface abrangente para o controle do terminal em aplicações de linha de comando, permitindo manipulação avançada de formatação, controle de cursor, manipulação de cores, entre outras funcionalidades.


Formatação de Texto

A formatação de texto na classe `Terminal` permite ao desenvolvedor modificar de forma simples a cor do texto e do fundo, além de aplicar estilos como negrito, sublinhado e outros. As cores de texto e de fundo podem ser ativadas e desativadas independentemente, oferecendo grande flexibilidade.

Para alterar a cor do texto e do fundo no terminal, a classe `Terminal` utiliza as enumerações `TextColor` e `TextBackgroundColor`. Estas permitem aplicar cores específicas tanto para o texto quanto para o fundo, e também oferecem métodos para resetar essas cores de volta aos padrões do terminal.

Terminal.setTextColor(TextColor.RED);  // Define a cor do texto para vermelho

Terminal.setTextBackgroundColor(TextBackgroundColor.BLUE);  // Define o fundo como azul

Terminal.resetTextColor();  // Reseta a cor do texto para o padrão do terminal

Terminal.resetTextBackgroundColor();  // Reseta a cor de fundo para o padrão do terminal


Terminal.setTextFormat(TextFormat.BOLD);  // Aplica negrito
Terminal.setTextFormat(TextFormat.UNDERLINE);  // Aplica sublinhado
Terminal.removeTextFormat(TextFormat.BOLD);  // Remove o negrito
Terminal.removeTextFormat(TextFormat.UNDERLINE);  // Remove o sublinhado

Terminal.setTextFormat(TextFormat.BOLD, TextFormat.UNDERLINE);  // Aplica negrito e sublinhado
Terminal.removeTextFormat(TextFormat.BOLD, TextFormat.UNDERLINE);  // Remove negrito e sublinhado

Esses métodos são suficientes para manipular e restaurar as cores do terminal de forma simples e direta.


Movimentação do Cursor

A classe `Terminal` oferece controle completo sobre a posição do cursor no terminal, permitindo mover o cursor de forma absoluta ou relativa. Isso inclui salvar e restaurar a posição atual do cursor, além de permitir a ocultação e exibição do mesmo. Essas funcionalidades são úteis para criar interfaces mais interativas e manipuláveis no terminal.

Terminal.moveCursor(5, 10);  // Move o cursor para a linha 5, coluna 10

Terminal.moveCursorUp(3);  // Move o cursor 3 linhas para cima
Terminal.moveCursorDown(2);  // Move o cursor 2 linhas para baixo
Terminal.moveCursorLeft(5);  // Move o cursor 5 colunas para a esquerda
Terminal.moveCursorRight(7);  // Move o cursor 7 colunas para a direita

Terminal.saveCursorPosition();  // Salva a posição atual do cursor
Terminal.restoreCursorPosition();  // Restaura a posição salva do cursor

Terminal.hideCursor();  // Oculta o cursor
Terminal.showCursor();  // Exibe o cursor

Terminal.returnToStartOfLine();  // Move o cursor para o início da linha atual

Esses métodos fornecem a flexibilidade necessária para controlar o cursor no terminal, permitindo uma navegação precisa e eficiente.


Limpeza de Tela e Linhas

A classe `Terminal` oferece uma série de métodos de limpeza (clear) que permitem remover o conteúdo da tela ou de linhas específicas no terminal. Esses métodos podem ser utilizados para limpar porções específicas da tela, desde o cursor até o fim da linha ou da tela, ou para limpar toda a tela.


Note 64.png
Definindo a Cor de Fundo
Uma dica útil é definir a cor de fundo antes de utilizar os métodos `clear()`. Isso fará com que a cor de fundo selecionada seja aplicada a todas as áreas limpas no terminal, proporcionando um efeito visual personalizado.


Terminal.setTextBackgroundColor(TextBackgroundColor.GREEN);  // Define o fundo verde

Terminal.clearRemainingLine();  // Limpa do cursor até o fim da linha

Terminal.clearLineFromStart();  // Limpa do início da linha até o cursor

Terminal.clearLine();  // Limpa a linha atual completamente

Terminal.clearScreenFromCursor();  // Limpa a tela do cursor até o final da tela

Terminal.clearScreenToCursor();  // Limpa a tela do início até o cursor

Terminal.clearScreen();  // Limpa a tela inteira

Esses métodos são essenciais para manter a tela do terminal organizada e com um visual limpo. Ao combinar a limpeza com a definição de cores de fundo, é possível criar um ambiente visual consistente e controlado no terminal.