• 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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
2,034 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,260 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,260 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,260 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,260 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,260 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ź 281 wizyt
pytanie zadane 10 kwietnia 2022 w Java przez coriver Nowicjusz (170 p.)
0 głosów
1 odpowiedź 3,465 wizyt
pytanie zadane 10 listopada 2015 w Java przez Waszek Gaduła (4,130 p.)
0 głosów
1 odpowiedź 350 wizyt
pytanie zadane 26 października 2017 w Java przez zygmunt Początkujący (310 p.)

93,195 zapytań

142,211 odpowiedzi

322,061 komentarzy

62,519 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 3316p. - dia-Chann
  2. 3251p. - Łukasz Piwowar
  3. 3243p. - Łukasz Eckert
  4. 3222p. - CC PL
  5. 3167p. - Tomasz Bielak
  6. 3157p. - Łukasz Siedlecki
  7. 3133p. - rucin93
  8. 3110p. - Maurycy W
  9. 3028p. - Adrian Wieprzkowicz
  10. 2992p. - Mikbac
  11. 2490p. - Marcin Putra
  12. 2481p. - Anonim 3619784
  13. 2467p. - Michał Telesz
  14. 2427p. - Michal Drewniak
  15. 1949p. - rafalszastok
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...