Ho fatto delle piccole modifiche ma il problema è sempre lo stesso anche con la soluzione da te prospettata...
qui il codice del main e la prima parte del Frame magari si riesce a cavare il ragno dal buco
codice:
public class Main {
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@SuppressWarnings("static-access")
public void run() {
//Create and set up the window.
FrameLeague frame = new FrameLeague();
frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
try {
for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
SwingUtilities.updateComponentTreeUI(frame);
break;
}
}
}
catch (Exception ve) {
// If Nimbus is not available, you can set the GUI to another look and feel.
ve.printStackTrace();
}
//Display the window.
frame.setVisible(true);
}
});
}
}
codice:
public class FrameLeague extends JFrame implements ActionListener, MouseListener {
/**
*
*/
private Login log;
private static final long serialVersionUID = 1L;
private DesktopFrame dframe;
//private JDesktopPane desktop;
public final static int OFFSETX=0;
public final static int OFFSETY=100;
private Dimension screenSize;
public FrameLeague() {
super("My Program");
int inset = 0;
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(inset, inset, screenSize.width , screenSize.height );
dframe=new DesktopFrame();
setContentPane(dframe);
log=new Login(this);
dframe.getDesktop().add(log);
try {
log.setSelected( true );
}
catch (java.beans.PropertyVetoException pvex) {
pvex.printStackTrace();
}
dframe.getDesktopManager().activateFrame( log );
log.setSize(350,160);
log.setLocation((screenSize.width-350-OFFSETX)/2, (screenSize.height-160-OFFSETY)/2 );
log.setVisible(true);
dframe.getDesktop().setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
addMouseListener(this);
}
......
}
Magari dando un occhiata di riesce a capire il perché.
Anche perché fin quando non c'è l'Ok del bottone della finestra di Login il programma nonva avanti, ovviamente partira dal main che farà partire FrameLeague che a sua volta crearà il JDesktopPane farà partire il pannello di Login il tasto ok del pannello richiama un metodo di FrameLeague che fà partire tutto il processo per questo la classe Login ha questa chiamata==> Login log=new Login(this);
E' una baggianata (ho fatto cose molto più complicate) intanto....
Speriamo in un vostro colpo di genio