Modo texto

Oi,
Sou iniciante em Java, e não estou conseguindo encontrar no meu tutorial o “como fazer” uma coisa simples. Quero desenvolver um programa em modo texto, ou seja, para rodar no prompt do DOS ou no Linux (modo texto), por exemplo. Mas preciso saber como fazer o seguinte:

  1. limpar a tela;
  2. posicionar o cursor num determinado ponto (linha, coluna) da tela;
  3. System.out.println(“Isso eu já sei…”);
    Alguém poderia me ajudar com os itens 1 e 2?
    Agradeço antecipadamente.

Cara, uma decepção…

naum dá

o q? como assim?

naum dá,

Mas é algo taum simples!

Pois é. java naum foi feito para fazer aplicações em modo caracter, até existe algumas gambiarras, mas simplesmente ficam toscas e estranhas…

desculpe cara heehhehe. mas essa é a realidade que passei qndo comecei a programar em java, nada de cor, de gotoxy, clrscr…

Ahhh, o System.out.println serve apenas para como flags, mostrar erros, mostrar dados em tempo de desenvolvimento, etc…

se quiser fazer alguma aplicação em modo caracter, use Qbasic, C, Pascal, até Delphi faz isso, mas…

Qualquer coisa tamo ae…

Nossa!

O programa realmente deve ser no modo texto???
Eu não conheço nenhum comando do tipo goto(x,y) para ir em um determinado ponto da tela!

Já quanto ao limpar tela, tem uma gambiarra interessante!

public static limpaTela() {
  for(i=0; i<20; i++) {
    System.out.println();
  }
}

Meu, bém que poderiam inventar um desafio aqui no GUJ para ver quem consegue criar a Gambiarra mais tosca!!!

Hell All, dá uma olhada em Swing ou outra coisa!!!

Se você estiver afim por exemplo de coletar dados, (tipo readln no pascal) use o JOptionPane

javax.swing.JOptionPane.inputMessageDialog(null, “Entre com o valor”);

Acho que é isso!

Abraços!

Um modo gambiarra de vc limpar a tela seria dando vários System.out.println();
ou então, para ir mais rápido
System.out.println("\n");

obs: colocar vários.

Fica (muito) feio, mas tudo bem…

acho q gotoXY(x,y); é do Pascal

Eu queria até hoje usar GotoXY nele mas nunca vi como…

é GotoXY no delphi nem eu hehehehe, ele só faz aplicações básicas em modo caracter, acho q nem a cor do texto dá pra mudar. Sei lá eu aprendi só pra conhecimento mesmo, o melhor é Pascal ou ate Qbaisc q é super simples pra programar.

Bem, acredito que está ficando “fora do controle” este tópico… rsrs
mas tudo bem…
Usa Clipper!

@20, 20 SAY "bla bla bla"

se você fosse fazer isso com Java seria mais dificil, acho q vc deveria fazer algo do tipo:

System.out.println("\t\t\t\t\tbla bla bla");
for (int x =0; x < 20; x++){
  System.out.println();
}

uhauhauhauhauh, Cliper era legal hehehe, meus primeiros joguinhos em caracteres foram feitos em cliper huahua.

Isto já está se tornando uma questão recorrente… Estou começando a achar que uma “API modo texto” realmente faz falta para a plataforma Java.

Enquanto tal “API” não vem (quem sabe o JCurses?), aqui vai um quebra-galho utilizando seqüências de escape ANSI (o pessoal daqui do fórum já deve estar irritado comigo :oops: ).
Mas já vou avisando: conforme já foi levantado em outros tópicos, o êxito no uso de seqüências ANSI depende não do seu programa, mas sim do terminal onde você o executa (ou seja, seqüências ANSI NÃO SÃO PORTÁVEIS). Num terminal Linux, as seqüências ANSI certamente vão funcionar, mas num terminal MS-DOS, é necessário habilitar o suporte a seqüências ANSI (faça uma busca no Google sobre o arquivo ANSI.SYS).

Feitos os esclarecimentos, aqui vão algumas sugestões de código utilizando seqüências ANSI.

[quote=hel_all]

  1. limpar a tela;[/quote]

void clearScreen() { System.out.print( "[code] void clearScreen() { System.out.print( "\033[H\033[2J" ); }33[H void clearScreen() { System.out.print( "\033[H\033[2J" ); }33[2J" );
}[/code]

void moveCursor( int line, int column ) { System.out.print( "[code] void moveCursor( int line, int column ) { System.out.print( "\033[" + line + ";" + column + "H" ); }33[" + line + “;” + column + “H” );
}[/code]