Um de lógica para resolver

Ola gujeiros,

Bem, o problema é o seguinte:

Eu tenho uma série de objetos a serem desenhados em um plano, que posso desenhá-los facilmente em
um Graphics do java, pois cada objeto possui seu X e Y.

Agora, é preciso “desenhar” esses mesmos objetos, em um arquivo TXT.
Ou seja, preciso colocá-los em um arquivo TXT seguindo a mesma disposição que os objetos teriam em uma imagem, por exemplo:

===================================== | NOME: joão da silva email: tal@xyz.com.br | | DADO 1: HHHHHHHHHHH DADO 2: YYYYYYYYYYY | | DADO 3: OOOOOOOOOOOOOOOOOOOOOOOOOOOO | | (linha em branco) | =====================================

A dificuldade está em como colocar os caracteres no array, nas posições certas, de acordo com o X e Y de cada objeto.

Pensei em usar aproximação. Ou seja, se um objeto está a 20% de distância da borda esquerda da superfície de desenho, eu o colocaria
a partir do caractere 20% a esquerda do array.

Alguém tem uma sugestão melhor para isso?

Já pensou em contar a quantidade de caracteres por linha?

Pois a primeira e a última " | " teriam que ficar em um lugar específico (Chutando primeira posição como 0 e última posição como 100), e contando a quantidade de caracteres de cada String vc poderia preencher o " Espaco total menos String" com espaços em branco para não deformar a tabela.

[quote=xdraculax]Ola gujeiros,

Bem, o problema é o seguinte:

Eu tenho uma série de objetos a serem desenhados em um plano, que posso desenhá-los facilmente em
um Graphics do java, pois cada objeto possui seu X e Y.

Agora, é preciso “desenhar” esses mesmos objetos, em um arquivo TXT.
Ou seja, preciso colocá-los em um arquivo TXT seguindo a mesma disposição que os objetos teriam em uma imagem, por exemplo:

===================================== | NOME: joão da silva email: tal@xyz.com.br | | DADO 1: HHHHHHHHHHH DADO 2: YYYYYYYYYYY | | DADO 3: OOOOOOOOOOOOOOOOOOOOOOOOOOOO | | (linha em branco) | =====================================

A dificuldade está em como colocar os caracteres no array, nas posições certas, de acordo com o X e Y de cada objeto.

Pensei em usar aproximação. Ou seja, se um objeto está a 20% de distância da borda esquerda da superfície de desenho, eu o colocaria
a partir do caractere 20% a esquerda do array.

Alguém tem uma sugestão melhor para isso?[/quote]

eu criaria um array bidimensional com espaços.
Ele representaria minha tela. Ai, eu só iria desenhando sobre esse array, como no algoritmo do pintor.
array[y][x] = caractere
depois que tivesse pronto o desenho, eu plotaria com 2 laços for aninhados.

Olá pessoal,

O que fiz foi:

1 - Pegar todos os objetos dentro de um mesmo eixo x (com um delta de 5, por exemplo).
2 - E pegar esses objetos agrupados pelo eixo x, e escrevê-los no arquivo de texto.

Ficou razoavelmente bom :slight_smile:

A quantidade de caracteres por linha como o Giovane018 falou, poderia até dar certo, mas essa quantidade de caracteres é variável, então o TXT não ficaria muito parecido.