Terminal
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.
![]() |
|
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.