Grazie ai vostri consigli sono riuscito ad abbozzare un programma che funziona ( o quasi ), ma mi rimangono tre piccoli problemi.
1- scrivo " CaSa " dovrebbe darmi " XzFz "
2- scrivo " ?casa- " dovrebbe darmi " ?xzfz- "
3- Poi se scrivo " ciao come stai " gli spazi nell'output sono troppo larghi!!!

Il codice funzionante è questo

// Criptografia

import javax.swing.*;

public class Cripto {

public static void main ( String args [] )
{
String alfa[] = { "a","b","c","d","e","f","g","h","i","j","k","l ",
"m","n","o","p","q","r","s","t","u","x","y","z " };

String input , // Stringa di input
output = " "; // Stringa di output

input =
JOptionPane.showInputDialog(" Inserisci la frase da criptare ");

// seleziona i caratteri
for ( int i = 0; i < input.length(); i++ ){ // inizio primo for
for ( int j = 0; j < alfa.length ; j++ ) { // inizio secondo for

// controlla gli spazi
if ( input.substring(i,i+1).equals(" "))
output+= " ";
// controlla ed effettua gli scambi
if ( input.substring(i,i+1).equals(alfa[j]))
output+= alfa[23-j];

} // fine secondo for
} // fine primo for


JOptionPane.showMessageDialog(null,output,"La frase criptata e': ",
JOptionPane.INFORMATION_MESSAGE );

System.exit(0);

} // fine main
} // fine classe


Grazie per il vostro aiuto ci siamo quasi...