Limpar Tela

Gostaria de saber, se existe alguma comando para limpar a tela, com o CLS do DOS por exemplo.
Estou fazendo um trabalho da faculdade e é em modo texto, mas o menu fica horrivel sem limpar …

valeu t+ …

Fala Luiz :slight_smile:

Cara, em java puro só há uma forma de fazer isso.

Faz um for de +/- 300 ou 400 com System.out.print("\r\n");
Mas se você quiser, pode usar JNI
mas ai ja viu né…

Exato!

Tipo, java voce tem como acessar a saida padrao, e nao a tela propriamente dita, entao nao da pra apaga-la, entende?

Para apagar, ou eh uma gambiarra, ou eh JNI, isso eh, codigo em C compilado com java

Valeu galera …

Vou fazer esta gambiarra, pra ver se melhora

t+

[quote=“Luiz”]Valeu galera …

Vou fazer esta gambiarra, pra ver se melhora
t+[/quote]

Dae Luiz

Outra coisa que você pode fazer é adicionar ao config.sys o comando :
c:\windows\command\Ansi.sys

E limpar a tela com …

public static void clearScreen()
{
char esc = 27;
String clear = esc + “[2J”; //codigo ansi para limpar a tela
System.out.print(clear);
}

Falow.

[quote=“marison”]Outra coisa que você pode fazer é adicionar ao config.sys o comando :
c:windowscommandAnsi.sys[/quote]

Porem vale ressaltar que essa eh uma solucao que so funciona no Windows :slight_smile:

[]'s
Rafael Steil

Mas o codigo nao eh ANSI? Nao deveria funcionar no Linux por exemplo?!?!?

:shock: no meu resultou isso aqui:

bugs@PAULO-QUARTO ~
$ java Teste
←[2J

Nao sei se deveria funcionar, mas mesmo que funcionasse, eu tambem nao recomendaria :stuck_out_tongue: a menos que seja uma extrema necessidade

Como o marison disse, precisaria colocar algo ansy no terminal do linux. como eu faria isso?

Em sistemas baseados em Unix eh diferente. Por exemplo, digamos que voce queira mudar a cor da fonte para azul no modo texto:

public class Ansi1
{
	public static void main(String args[])
	{
		System.out.println("33[0;34mMeu Texto em azul");
	}
}

viram? o escape de caracteres eh diferente.

Rafael

Olá galera!

O código ANSI vai funcionar em qualquer terminal compatível com o padrão americano… o código 33 não é diferente do 27 … mas o correto é dizermos ESC (033 = 27 = 0x1b = \u001b = ESC).

O console do DOS/Windows por padrão não é compatível com o ANSI. Para deixá-lo compatível, deve-se colocar o ANSI.SYS na memória (com devise ou devicehigh).

No Linux, se, no seu terminal, quando vc dá um ls vem os arquivos executáveis/diretórios coloridos, provavelmente o seu terminal está compatível com o ANSI.

Sequencia ESCape ANSI (que eu lembro de cabeça):

ESC[2J -> limpa a tela
ESC[x;yH -> posiciona o cursor na posição x e y
ESC[x;yf -> idem
ESC[0-7;3x;4ym -> muda o tipo de exibição / cor de escrita /cor de fundo sendo que x e y variam de 0 a 7 sendo 0 = preto e 7 = branco. Ex: ESC[1;31;42m seta pra exibir o texto escrito posteriormente com a cor vermelho (31) forte (1) sobre o fundo verde (42) … o default dos terminais é normalmente ESC[0;37;40m -> branco (37) fraco (0) - torna o branco num cinza claro - sobre fundo preto (40)

Entrem no site http://www.termsys.demon.co.uk/vtansi.htm para ver as implementações dos códigos ANSI do VT100 que é um dos terminais mais utilizados. Ele não implementa todos os códigos, mas implementa os mais utilizados!

[]'s

PS: Vale lembrar que nem todos os terminais são compatíveis. E alguns que são apenas parcialmente compatíveis!


Estou estudando Java agora, acho legal… mas ainda sou afixionado por BITs e adoro o C++!

o jgrasp tem a opcao de limpar a tela. Alguem sabe como ele faz isso ? :roll:

Eu também gostaria de saber como faço isso, não estou conseguindoe que arquivo config.sys é esse que não encontro…

[quote=Diogenes Gondim][quote=“Rafael Steil”]Outra coisa que você pode fazer é adicionar ao config.sys o comando :
c:windowscommandAnsi.sys[/quote]

Como eh q faz isso???
Abri o config.sys com o notepad mas fiquei com medo de altera-lo!!!

Já fiz uma simulação de clear ou cls usando o método abaixo:

public static void cls()
    {
            for(int i = 0; i < 25; i++)
            System.out.println("");
    }

Bastando depois chamar o método.

cls();

Opa estou começando a estudar java agora e um professor passou um dll q tem a mesma função de limpa tela so funciona pelo prompt
http://groups.google.com.br/group/fja_dsw0902/web/limpar_tela.zip?hl=pt-BR
ai o link vlww

Iaew glr blzinha é porque eu programo no eclips e a minha duvida é se existe uma forma de limpar a tela do Console apos uma execução de loop… :lol: [color=cyan] [/color]

Oi moçada,
tava pesquisando a mesma coisa e lembrei de uma parada q quase não uso …

tentem e vejam OK:

Runtime.getRuntime().exec("cls"); 

é esse o comando pra limpar tela igual no C.

Espero ter ajudado … Boa tarde!