Hola,
Cita:
Iniciado por laOtra ...
-Los JPanel, no funciona, asi que les he quitaod también, lo he puesto todo con contenedores.
...
Creo que en parte allí esta el problema. Los JPanel funcionan correctamente dentro de un JApplet como dentro de un JFrame. Realmente podrías verlo de esta forma, lo que tienes que hacer es eliminar los JFrame completamente y poner todo dentro del JApplet, y la forma más simple es usando JPanel.
Cita:
Iniciado por laOtra -Para hacer los layout así:
Código HTML:
frame.getContentPane().setLayout(new GridLayout(4,1));
-Para meter los botones, label...:
Código HTML:
frame.getContentPane().add(boton);
¿Que es frame en ese caso? Si frame es un JFrame seguirá apareciendo un JFrame en la pantalla, aunque lo llames desde el JApplet.
Cita:
Iniciado por laOtra Otra duda que tengo, ¿puedo crear dos frame? Es para poner dos layout.
Tienes que eliminar todos los frames, por eso salen las ventanas. Acá tengo un ejemplo de como crear una aplicación que funciona tanto como JFrame como JApplet, usando solamente un JPanel para contener toda la aplicación.
Código Java:
Ver original/**
* La aplicación principal del juego Puzzle.
* Funciona tanto como un Applet como una aplicación Desktop.
* @author HackmanGT
*/
public class Puzzle
extends javax.
swing.
JApplet {
private static Panel panel
;
/**
* Aplicación principal.
* Inicializa el Applet.
*/
@Override
public void init() {
super.init();
try {
public void run() {
initComponents();
}
});
System.
err.
println(ex.
getMessage()); ex.printStackTrace();
}
}
/**
* Inicializa el componente.
*/
private void initComponents() {
setBackground
(java.
awt.
Color.
WHITE); add(panel);
}
/**
* Aplicación principal.
* Inicializa el Frame.
* @param args los argumentos de la línea de comandos
*/
public static void main
(String[] args
) { public void run() {
createAndShowGUI();
}
});
}
/**
* Inicializa el componente.
*/
private static void createAndShowGUI() {
frame.setTitle(".: JPuzzle :.");
frame.setResizable(true);
frame.pack();
frame.setSize(640, 480);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
Saludos,