Limpar Tela  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Luiz
HelloWorld

Membro desde: 22/09/2002 02:15:47
Mensagens: 10
Localização: São João da Boa Vista - SP
Offline

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+ ...
aconstantino
Virtual Machine Man
[Avatar]

Membro desde: 14/09/2002 16:37:24
Mensagens: 698
Offline

Fala Luiz :)

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

Faz um for de +/- 300 ou 400 com
Mas se você quiser, pode usar JNI
mas ai ja viu né....
[Email] [WWW] [MSN]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

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

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
Luiz
HelloWorld

Membro desde: 22/09/2002 02:15:47
Mensagens: 10
Localização: São João da Boa Vista - SP
Offline

Valeu galera ...

Vou fazer esta gambiarra, pra ver se melhora


t+
marison
HelloWorld
[Avatar]

Membro desde: 04/10/2002 22:47:15
Mensagens: 10
Localização: Cachoeirinha/Rs/BRASIL
Offline

Luiz wrote:Valeu galera ...

Vou fazer esta gambiarra, pra ver se melhora
t+


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.

----------------------------
Marison Souza
www.marisonsouza.kit.net
"Issssaee!! "
[Email] [WWW] [ICQ]
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

marison wrote:Outra coisa que você pode fazer é adicionar ao config.sys o comando :
c:windowscommandAnsi.sys


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

[]'s
Rafael Steil

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
FLC
JavaGuru

Membro desde: 15/08/2002 15:30:08
Mensagens: 212
Localização: São Paulo
Offline

Mas o codigo nao eh ANSI? Nao deveria funcionar no Linux por exemplo?!?!?
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

no meu resultou isso aqui:



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

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

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

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



viram? o escape de caracteres eh diferente.

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
Bigous
Smalltalk

Membro desde: 08/11/2006 18:30:10
Mensagens: 1
Offline

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++!
[Email]
PePeLeGaL
JavaTeenager
[Avatar]

Membro desde: 11/12/2006 22:19:56
Mensagens: 196
Offline

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

Membro desde: 09/08/2007 16:54:26
Mensagens: 1
Offline

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

Membro desde: 28/11/2007 23:03:21
Mensagens: 1
Localização: Paraíba, Campina Grande
Offline

Diogenes Gondim wrote:
Rafael Steil wrote:Outra coisa que você pode fazer é adicionar ao config.sys o comando :
c:windowscommandAnsi.sys


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

Diogenes G. Gondim
[MSN]
mdantas21
Thread.start()

Membro desde: 06/05/2004 12:18:09
Mensagens: 40
Localização: SP
Offline

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();

This message was edited 1 time. Last update was at 14/04/2008 21:40:20


--
MDantas - SP
Márcio Dantas
[Email] [WWW] [MSN] [ICQ]
alexving
Smalltalk

Membro desde: 04/09/2009 12:12:59
Mensagens: 1
Offline

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
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team