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

JAVA - szybsze oczyszczenie bufora funkcji

Object Storage Arubacloud
+1 głos
255 wizyt
pytanie zadane 13 sierpnia 2020 w Java przez CupraR225 Początkujący (270 p.)

Siemka, w jaki sposób można w javie zrealizować to co siedzi w buforze funkcji, dla przykładu mam funkcje

(z java Swing)

public void actionPerformed(ActionEvent e) {
	JButton.setText(".");
	funkcja();
}

i chciałbym po wykonaniu 1 instrukcji tej funkcji (po ustawieniu tekstu przycisku) aby dokonało się to od razu bo "funkcja()" zawiera Thread.sleep(5000) i metoda actionPerformed nie wykona JButton.setText() dopóki nie skończą się wszystkie instrukcje do wykonania, czyli czeka na darmo 5 sekund kiedy ja chciałbym mieć ten tekst ustawiony od razu 

Czy jest może jakaś funkcja typu flush coś jak w plikach, że możemy zrealizować to co siedzi w buforze wywołując obiekt.flush()? Bo próbowałem coś na zasadzie JButton.flush() ale ta funkcja działa chyba tylko dla plików

2 odpowiedzi

+3 głosów
odpowiedź 13 sierpnia 2020 przez Oscar Nałogowiec (29,320 p.)
wybrane 14 sierpnia 2020 przez CupraR225
 
Najlepsza
W java masz cos co się nazywa futures - to takie asynchroniczne wywolania funkcji przy pomocy watków. Oczywiście, jak już się wchodzi w wielozadaniowość stopień złożoności problemów rośnie o rząd wielkości.

Ogólnie jeśli masz program z GUI i jakieś długotrwałe czynności to trzeba je wykonywać asynchronicznie.

Dobra jest też klasa SwingWorker.

Twój problem polega na tym, że w GUI wszelkie zmiany w obiektach na ekranie tak naprawdę modyfikują zmienne określające ich stan, zmiana na ekranie wykonuje się dopiero po odświeżeniu ekranu i wywołaniu metod paint() poszczególnych komponentów. A metody paint woła sam mechanizm okienek, gdy uzna że trzeba. Wywołanie repaint to tak naprawdę oznaczenie obiektu, że wymaga odświeżenia przy najbliższej okazji.
2
komentarz 14 sierpnia 2020 przez CupraR225 Początkujący (270 p.)

No już czaje dzięki bardzo a tutaj wyjaśnienie jeśli ktoś początkujący też potrzebuje

http://java.fizyka.pw.edu.pl/data/_uploaded/data/Wyklady2018/Java6_Strona.pdf

+1 głos
odpowiedź 13 sierpnia 2020 przez Wiciorny Ekspert (270,190 p.)
edycja 13 sierpnia 2020 przez Wiciorny

 co siedzi w buforze funkcji,

zastanawia mnie jedno, chyba się nie da, bo nie istnieje coś takiego jak bufor funkcji w Javie  

dla rozwiązania - implementujesz akcje wątku dla ustawienia tekstu i robisz blokadę wątków aktualnych, czasowa, wstrzymująca lub usypiasz je do momentu wykonania poprzedniego, swoją drogą ... to nie działa Ci z innego powodu, a takiego że nie obsługujesz akcji 

Podobne pytania

0 głosów
0 odpowiedzi 216 wizyt
pytanie zadane 9 maja 2018 w Java przez acero_m Początkujący (390 p.)
0 głosów
2 odpowiedzi 159 wizyt
pytanie zadane 26 sierpnia 2020 w Java przez T100 Obywatel (1,450 p.)
0 głosów
2 odpowiedzi 1,657 wizyt
pytanie zadane 2 stycznia 2017 w Java przez rubesom Obywatel (1,690 p.)

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...