Olá pessoal, estou com uma dúvida e não encontrei nada a respeito se é possível.
Tipo eu preciso pegar os dados X e Y do meu DB, e apresentá-los em uma JTable mostrando a cada dois item X um Y e seguir assim por diante tipo uma fila preferencial, a dois comum colocar um preferencial após. Sabem se tem algo que dê pra fazer isso.
Faz duas buscas, uma de X depois outra de Y, aí cria uma coleção colocando sempre 2x seguidos de 1y.
Exemplo de método pra juntar as listas de x e y:
public List<Object> merge(List<X> listaDeX, List<Y> listaDeY) {
List<X> copiaDeX = new ArrayList(listaDeX); // copia da lista de X pra não remover da lista original de X
List<Y> copiaDeY = new ArrayList(listaDeY); // copia da lista de Y pra não remover da lista original de Y
List<Object> objects = new ArrayList<Object>(); // lista que vai conter os elementos na ordem x,x,y,x,x,y,x,x,y...
do {
if (!copiaDeX.isEmpty()) {
objects.add(copiaDeX.remove(0)); // adiciona um x
}
if (!copiaDeX.isEmpty()) {
objects.add(copiaDeX.remove(0)); // adiciona outro x
}
if (!copiaDeY.isEmpty()) {
objects.add(copiaDeY.remove(0)); // adiciona um y
}
} while (!copiaDeX.isEmpty() || !copiaDeY.isEmpty()); // vai repetindo enquanto houver x ou y disponíveis
return objects; // retorna a lista com elementos na ordem desejada
}
Feito isso, implemente um TableModel
para renderizar os elementos dessa lista retornada pelo método merge
.
Obrigado parceiro vou tentar colocar aqui e te falo se deu certo.