• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java Swing: Zamknięcie jednego okna

VPS Starter Arubacloud
+1 głos
1,730 wizyt
pytanie zadane 9 października 2018 w Java przez C.J Obywatel (1,370 p.)
Jak zamknąć pojedyncze okno, (nie całą aplikacje) tak by zostało całkowicie usunięte z pamięci?

Metoda dispose() jest nieprawidłowa.
komentarz 9 października 2018 przez mbabane Szeryf (79,280 p.)

Być może ustawienie DISPOSE_ON_CLOSE to robi, ale musisz to sprawdzić w necie/dokumentacji.

frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

 

komentarz 13 października 2018 przez C.J Obywatel (1,370 p.)
Nie działa
komentarz 13 października 2018 przez mbabane Szeryf (79,280 p.)
Najprawdopodobniej będzie to zależało od kodu. Jeśli gdzieś w kodzie jest/istnieje referencja do tego okna, to GC (Garbage Collector) tego nie usunie, bądź zrobi to nie wiadomo kiedy. Niestety jeśli chodzi o kwestie zarządzania pamięcią w Javie sensu stricte to jest to bardzo trudne zagadnienie - i tutaj trzeba być już nie lada specjalistą żeby ingerować w działanie GC.

Też zależy co chcesz osiągnąć.
komentarz 13 października 2018 przez C.J Obywatel (1,370 p.)
Chciałam móc otworzyć i zamknąć jedno okno (taki podprogram) z głównego okna kilka razy. Za pierwszym razem nie ma żadnych problemów, ale przy kolejnych razach, program robi to kilka razy. (poprzednie otworzenia + jedno nowe) Może powinnam się zagłębić w temat zarządzania pamięci, bo bez tego nie ruszę dalej.
komentarz 13 października 2018 przez mbabane Szeryf (79,280 p.)
Chyba nie do konca wiem co masz na mysli. Czy chodzi o taki przbieg:

1. Odpala sie glowne okno

2. Klikam jakiś przycisk i uruchamia się nowe okno.

3. (I teraz nie wiem co ma być). Zamykasz to okno z pkt 2.

4. Klikasz ponownie przycisk z głównego okna te  sam co w pkt 2 i odpala się wyzerowane okno z pkt 3.

Nawet jeśli o coś innego Ci  chodzi to z cala pewnością nie trzeba do tego angażować jakiś trików z zarządzania pamieć na 100%.
komentarz 13 października 2018 przez C.J Obywatel (1,370 p.)
O to mi chodzi :)
komentarz 13 października 2018 przez mbabane Szeryf (79,280 p.)
Wiesz dziś nie mam czasu Ci opisać tego ze szczegółami, jak coś dam jutro znać.

Najprościej będzie jeśli cały proces kliknięcia przycisku będziesz robić zawsze od zera, na zasadzie:

Klikam przycisk:
1. Tworzenie okna
2. Jakieś dodatkowe operacje.

Klikam drugi raz przycisk i znowu:
1. Tworzenie okna
2. Jakieś dodatkowe operacje

Chodzi o to, że za każdym klikiem ma być robiony ten sam kod.

1 odpowiedź

0 głosów
odpowiedź 14 października 2018 przez mbabane Szeryf (79,280 p.)
wybrane 14 października 2018 przez C.J
 
Najlepsza
Zrobiłem taki przykładzik, żeby to zademonstrować, przeanalizuj go sobie:

https://github.com/mbabanes/java-examples/tree/master/src/main/java/newWindowApp

(Wykorzystałem tam wzorzec MVC)

Tutaj jest klasa, w której jest akcja kliknięcia przycisku w głównym oknie:

https://github.com/mbabanes/java-examples/blob/master/src/main/java/newWindowApp/controller/MainWindowController.java

Za każdym razem robiony jest kod od zera więc daje to to, że przy każdym kliknięciu przycisku jest całkowicie zresetowane okno.
komentarz 14 października 2018 przez C.J Obywatel (1,370 p.)
Problem rozwiązałam w inny sposób, ale ten też może mi się kiedyś przydać. Dzięki

Podobne pytania

+1 głos
1 odpowiedź 246 wizyt
pytanie zadane 10 kwietnia 2022 w Java przez coriver Nowicjusz (170 p.)
0 głosów
1 odpowiedź 3,248 wizyt
pytanie zadane 10 listopada 2015 w Java przez Waszek Gaduła (4,130 p.)
0 głosów
1 odpowiedź 310 wizyt
pytanie zadane 26 października 2017 w Java przez zygmunt Początkujący (310 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...