Ho capito, insomma non mi conviene molto. Quello che mi stai consigliando è, praticamente, di mettere gli elementi di ogni candidato JApplet/JFrame in un JPanel, e settare ogni JPanel come invisibile all'inizio. Poi, di volta in volta, faccio diventare visibile il Panel che mi interessa, giusto?
Sarebbe fattibile, ma ho bisogno di un'altra informazione: è possibile creare un unico JApplet che, a seconda del contesto in cui venga lanciato, appaia come JApplet o JFrame?
Ho fatto così: nel JApplet ho anche creato un metodo main:
Codice PHP:
public static void main(String[] args) {
JFrame f = new JFrame("Applet Application GUI");
JApplet aag = new MyApplet();
f.getContentPane().add(aag);
f.pack();
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setVisible(true);
}
In questa maniera, se lanciassi la classe come applicazione JAVA, dovrebbe crearmi un JFrame e mettermi all'interno la JApplet. In teoria dovrebbe funzionare, ma ho rilevato un problema: non funziona il File.list() se inserisco la JApplet nel JFrame. Invece fila tutto liscio se avvio la classe come JApplet. 
EDIT: non so che problema mi dà, probabilmente di permessi? Non mi popola l'array di stringhe file.list(), quindi ritorna un valore null. Secondo la javadoc:
Ma ciò non è vero, poichè come JApplet funziona perfettamente!