Exibir resultados no JOptionPane

Olá todos! Eu preciso criar um programa simples de criptografia usando a tabela ASCII, mas quando vou imprimir os resultados usando o JOptionPane, ele mostra todos os valores separadamente (ex: se eu coloco 123, ele mostra a posição do “1” na tabela, depois soma mais 10 unidades e mostra o novo código, depois repete para o “2” e “3”). Teria uma maneira de mostrar todos os resultados em uma só janela? E, se não for muito, teria como separar os resultados com um espaço?

int k = 10;
	int cripto;
	int j;
	char c;
	String resultado = "";
	String palavra = JOptionPane.showInputDialog("Entre com um código:");

	for(int i = 0; i < palavra.length(); ++i) {
		c = palavra.charAt(i);
		j = (int)c;
		cripto = j+k;
		resultado += (char)cripto;
	
	JOptionPane.showMessageDialog(null, "Mensagem divida por caractere: "+palavra);
		
	JOptionPane.showMessageDialog(null, "Posição na tabela ASCII: "+j);
	
	JOptionPane.showMessageDialog(null, "Criptografia com +10: "+cripto);
	
	JOptionPane.showMessageDialog(null, "Novo código: "+resultado);
	
	}
}

}

Se entendi o que pretendes, só tens de mostrar o resultado fora do for e não dentro.

import javax.swing.JOptionPane;

public class Main {
    public static void main(String... args)
    {
        int unidadesParaSomar = 10;
        int indiceCaraterASCII;
        int indiceCaracterCriptografado;
        char caracter;
        char caracterCriptografado;
        String resultado = "";
        String palavra = JOptionPane.showInputDialog("Entre com um código:");
        String mensagem = "Mensagem dividida por caractere: " + palavra + "\n";

        for(int i = 0; i < palavra.length(); ++i) {
            caracter = palavra.charAt(i);
            indiceCaraterASCII = (int) caracter;
            indiceCaracterCriptografado = indiceCaraterASCII + unidadesParaSomar;
            caracterCriptografado = (char) indiceCaracterCriptografado;
            mensagem += "\nLetra: " + caracter
                + "\nPosição na tabela ASCII: " + indiceCaraterASCII
                + "\nCriptografia com +" + unidadesParaSomar +": " + indiceCaracterCriptografado
                + "\nCaracter criptografado: " + caracterCriptografado + "\n";
            resultado += caracterCriptografado;
        }

        mensagem += "\n\nNovo código: " + resultado;
        JOptionPane.showMessageDialog(null, mensagem);
    }
}