Cześć,
mam pytanie, czy w przedstawionym "schemacie" zasoby zostaną zwolnione czy nie:
public class startGui extends JFrame()
{
protected void createGui() // funkcja generuje całą formatkę, brakuje w niej tylko polecenie setVisible(true)
private JFrame getMyself()
{return this;}
public StartGui() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
LoginWindow lw = new LoginWindow(new LoginToApp()); //loginToApp() klasa weryfikująca logowanie, mało ważne :)
lw.startLogin(getMyself());
createGui();
}
});
}
}
natomiast klasa LoginWindow:
public class LoginWindow
{
JFrame frameToOpen;
public void startLogin(JFrame frameToOpenT)
{
frameToOpen = frameToOpenT;
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createGui();
}
});
}
protected void createGui()
{
(...)
JButton btnLogin = new JButton("Loguj");
btnLogin.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
login.setLoginAndPass(txtLogin.getText(),txtPass.getText()); //klasa która weryfikuje poprawność danych- nie istotna z perspektywy pytania
if(login.login()) frameToOpen.setVisible(true);
else System.out.println("Login incomplit");
}
});
}
}
i teraz, chcę dodać guzik "Anuluj", ale chciałbym żeby kliknięcie go zwolniło wszystkie zasoby "po drodze", czyli te dla wątku z LoginWindow oraz StartGui. Można zmusić javę do zrobienia porządków za mnie?? czy właśnie wygenerowałem wspaniały wyciek zasobów?? :)
Proszę o rady
Pozdro, Piotrek