@qjot: Java żyje głównie z EE -> z sieci, backendu, no i androida, a tutaj javafx się nie przydaje.
W aplikacjach, bo kilka ich jest, od dawna jest swing czy awt czy coś (np JetBrains leci chyba po swingu), więc nikt nie będzie marnował tysięcy/milionów, by to zmienić na JavaFX, szczególnie że pewnie będzie to cięższe.

Nowych aplikacji za dużo nie powstaje, więc ogólnie raczej średnio z tym wykorzystaniem, sam czasem
  • Odpowiedz
Z okazji wiosny warto wziąć się w końcu do roboty i zrobić coś z kimś sympatycznym. Więc sympatyczne Mirki mam taki anons: szukam projektu w javie, w którym mogłabym popracować. Znam trochę spring, hibernate i javafx. Wszystkiego czego nie znam chętnie się nauczę :)

Zależy mi na pracy przy czyimś projekcie, bo bardziej mnie to motywuje do systematycznej pracy.

#java #javafx #praca #programowanie #wiosna
@Gotomb: niech 4 layout będzie typu stackpane, do niego wrzucasz layouty, które mają być podmieniane jako children i w zależności od jakiegoś zdarzenia wywołujesz toFront() na odpowiednim z nich. Layouty, które dodajesz do stackpane możesz sobie np. includować z osobnych fxmli, chociaż w zależności od ich wielkości i złożoności aplikacji niekoniecznie może to być najwygodniejsza opcja.
  • Odpowiedz
#java #javafx #swing

Muszę w Javie zrobić prostą aplikację desktopową wyświetlającą tabelkę z danymi. Kiedyś takie rzeczy robiło się w Swingu. Ale teraz pomyślałem, że skorzystam z nowszego i polecanego rozwiązania JavaFX.

Kto to wymyślił? Nie ma normalnej obsługi TableView? Serio muszę napisać 200 linii kodu, żeby dodać 10 wierszy w trzech kolumnach?
@mk321: przede wszystkim możliwości jakie daje JavaFX, Observable Collections to jest inna liga w porównaniu do tego co daje Ci domyślnie Swing.
Tabelę wyklikujesz w Scene Builderze, wstrzykujesz tabelę do kontrolera, gdzie konfigurujesz kolumny. Dalej w celu dodania kolejnych wierszy wystarczy modyfikować listę podpiętą pod tabelę i wszystko odświeża się automatycznie.
Efektywnie trzeba napisać z 20 linijek kodu, reszta to trochę klików.
  • Odpowiedz
#programowanie Potrzebuje pomocy z #java #javafx

tworze wątki 2 pojazdów które porzesuwaną je o x co czas t. Problem w tym ze jak dodam 2 pojazdy do swojego pane leci mi

Exception in thread "JavaFX Application Thread" java.lang.ArrayIndexOutOfBoundsException i useless informacje nic podlinkowane do mojej klasy
@MrFisherman: Ogólnie to spotyka się jeszcze soft na dektop napisany w Javie. Wiem bo sam pracuje w firmie w której mamy 2 spore programy desktopowe napisane w Javie (Swing). Czy warto się uczyć ? powiedział bym że raczej nie... java na desktopach jest problematyczna. Wymaga aby klient na swoim kompie miał zainstalowaną Javę, czasem updaty coś popierdzielą i kłopot, trzeba się logować do klienta i coś mu tam poprawić ustawić bo
  • Odpowiedz
@MrFisherman:
Z desktopowych aplikacji w javie, ktore znam:
- wiekszosc to aplikacje dla programistow (ide, narzedzia do testowania, narzedzia od oracle do sqla)
- 2 popularne gry: minecraft i runescape
- bardzo male fragmenty openoffice sa w javie, wiekszosc to c++

Z java jest taki problem, ze ciezko zrobic cos, co bedzie wygladalo jak natywna aplikacja. Mozna sie bawic Look'n'Feel, ale zawsze zostaja jakies niedorobki, ktore dziwnie wygladaja w stosunku do
  • Odpowiedz
Witam mircy.

Od dłuższego czasu klepię poważną apkę dla klienta w JavaFX. Między innymi potrafi ona generować oraz drukować PDFy. To z tym ostatnim mam problem. Jakiś czas temu klient zmienił drukarkę, a javowe drukowanie przestało działać. U mnie zarówno pod windowsem, jak i linuxem, wszystko się ładnie drukuje. U klienta, przy sieciowej drukarce, pod windowsem 7, system przyjmuje zgloszenie do drukowania ("Java printing"), ale nic się nie dzieje. Przy otwarciu dokumentu
Mam pytanie do mireczków. Czy rysował ktoś z was wykresy na których zaznaczone są pewne przedziały. Mowa tu o wykresie w #java #javafx
Ogólnie w moim programie chodzi o wprowadzenie pewnych wartości, przedstawienie ich w formie graficznej jako kropki oraz porównanie z pewnymi regułami zapisanymi w pliku.
Tylko że w niektórych plikach mam reguły opisane przedziałami stąd moja potrzeba rysowania słupków.

Przykładowa reguła którą muszę narysować na wykresie oraz porównać z moimi
llMarioll - Mam pytanie do mireczków. Czy rysował ktoś z was wykresy na których zazna...

źródło: comment_ZN2Mf4P5D69lESpCkCFWnptOckXVfmOU.jpg

Pobierz
#java #javafx #naukaprogramowania

Zapytam na mirko, bo już nie mam pomysłu dlaczego to nie bangla ( ͡° ʖ̯ ͡°).
Aplikacja mi rzuca wyjątkiem, gdy chcę z menu głównego przejść do danej kategorii. W kodzie, który dałem wygląda to tak:
linia 98 -> linia 43 i w linii 64 potem występuje wyjątek i nic się nie zmienia ( ͡° ʖ̯ ͡°). Najbardziej mnie ciekawi dlaczego
start jest wywoływana automatycznie podczas uruchamiania aplikacji, więc chyba nie tu leży problem


@krytyk_naczelny:

application = new MainApp();

ale tutaj tworzysz nową instancję, która nie jest 'zarządzana' przez aplikcje, i tą instancję zwracasz w getApplication().

W kontrolerze natomiast wstrzykujesz przez konstruktor prawidłowo stworzony obiekt, ale go nie używasz. Najprościej będzie zmienić:

this.application = application.getApplication();

na

this.application = application;

I powinno robić.
  • Odpowiedz
#programowanie #java #javafx
Robię projekt w javie. Samolot lata po pewnej trasie. Gdy dodaje drugi samolot to się zawiesza(nowy wątek). Współrzędne cały czas oblicza i wypisuje dobrze. Problem jest z rysowaniem. Wszystko oparte na wątkach.
Najczęściej wyrzuca błędy:


at java.util.ArrayList.elementData(ArrayList.java:418)
at java.util.ArrayList.get(ArrayList.java:431)
at javafx.scene.Parent.updateCachedBounds(Parent.java:1583)
at javafx.scene.Parent.recomputeBounds(Parent.java:1527)
at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1380)
@szczepi: możliwe. Musisz sprawdzić. Przede wszystkim uporządkuj kod, bo jest mało czytelny. Przede wszystkim nie powinieneś zakładać, że dany element będzie miał określony indeks np. 0 po dodaniu do listy - dlatego używałbym konstrukcji takiej co podałem wcześniej.
  • Odpowiedz
czesc, zaczynam budowac baze danych do mojego projektu (wirtualna przychodnia), i sprawa wyglada tak.. chce zeby to byla aplikacja webowa, ale zeby byla ona oparta o technologie JavaFX (wzorzec projektowy MVC, gdzie człon View stanowilyby pliki .fxml, ktore bym edytowal w SceneBuilderze) - czy takie rozwiazanie w ogole by przeszlo? ( ͡° ʖ̯ ͡°)

#java #naukaprogramowania #programowanie #javafx
@Arima: Odradzam, największe przeglądarki wycofują się z obsługi NPAPI, na której bazuje plugin Javy. Jeżeli jesteś programistą Javy i chcesz tworzyć webowy frontend, zainteresuj się raczej Vaadinem lub GWT (+ew. Sencha GXT). JavaFX spoko, ale raczej na desktopie.
  • Odpowiedz
witam, czy jest tu jakiś Mirek z dobrym sercem, który zna na wylot JavaFX? potrzebuje niewielkiej pomocy (wytlumaczenie moich bledow i naprowadzenie na dobra sciezke) przy moim pierwszym projekcie, czyli super kalkulatorze obliczajacym zapotrzebowanie kaloryczne.. place w bigosie ( ͡° ͜ʖ ͡°)

#java #naukaprogramowania #javafx #programowanie
#java #javafx #programowanie
Piszę sobie małą aplikację w JavaFX. Mam model i chcę by był on całkowicie niezależny od FXa, tzn. żadnych StringProperty itp, zwykłe POJO. Po pierwsze dlatego że nie podoba mi się, że warstwa modelu ma cokolwiek wspólnego z GUI, po drugie chcę serializować model, a FXowe Property nie są serializowalne.
Na razie to wygląda tak, że mam interfejs MovieRepository - taki podstawowy CRUD, który mogę sobie dowolnie implementować -
@Sebaall @akurczak: Natknąłem się na ten problem ucząć się RMI. Można zrobić tak, że Twój model będzie się komunikował z elementami UI przez interface, którego implementacja (też bez propertiesów itd) będzie pośredniczyła między nim a GUI. Do tego robisz sobie kontroler/kontrolery UI już ze wszystkim co dobre w JavaFX, które też komunikują się z głównym kontrolerem przez interface, a on w razie potrzeby popycha zmiany do modelu. Domyślam się, że problemem
k.....e - @Sebaall @akurczak: Natknąłem się na ten problem ucząć się RMI. Można zrobi...

źródło: comment_gkzOmf4VXRObLtiKitx5Gj7izU5Sz6di.jpg

Pobierz
  • Odpowiedz
Mirki! Wrzucam, z gorącą prośbą o code review, kolejną wersję apki (swojej pierwszej aplikacji w ogóle), Time Keeper. Patrz: GitHub. Zasadniczo, jest to prosty timer/czasomierz, z możliwością tworzenia i eksprotowania listy zadań do pliku. Aplikacja zbudowana jest z użyciem JavaFX API, bez dodatkowych frameworków, chociaż dodanie obsługi Hibernate do przechowywania informacji o zadaniach i SQLowej bazy danych nie powinno stanowić wielkiego problemu.

Od końca maja, kiedy ogłaszałem się z tym samym
@kitke:
1. - jedna metoda, jeden test, nie testuje się miliona rzeczy w jednej metodzie.
2. - testy pisz w formacie
// given - mając - warunek początkowy
// when - kiedy - działanie
// then - wtedy - rezultat

na przykład
// given albo setup
int numer1= 1;
int numer2 = 2;
int wynik = 0;

//when:
wynik = numer1 + numer2;

//then
wynik == 3

drugi przykład, załózmy że
  • Odpowiedz
@kitke:

Tego typu rzeczy:


if (settings.playSounds()) {
    settings.setPlaySounds(
false);
else {
    settings.setPlaySounds(
true);
}
```możesz uprościć jako:```
settings.setPlaySounds(!settings.playSounds());

-----

https://en.wikipedia.org/wiki/Dependency_injection – staraj się nie inicjować obiektów w środku innych obiektów. Tzn masz np SettingsWindow, w środku inicjujesz Stage, FXMLLoader i Scene => to zabija testowalność i konfigurowalność. Nie możesz tego zmockować, klasa SettingsWindow robi „dużo rzeczy”, bo musi umieć tamte sobie przygotować do pracy.

Powinieneś mieć jedno
  • Odpowiedz
#java #javafx #naukaprogramowania
Mirki jak w JavaFX stworzyć okno wizard takie jak jest przy różnych instalatorach? W internecie znalazłem tylko przykłady w których jest kod tylko w jednym pliku *.java, a ja potrzebuję rozdzielonego jeszcze na *.fxml, żebym mógł go w Scene Builder edytować. Ktoś podpowie jak się za to zabrać?
@Patres: najprościej to jest zastosować stackpane, wrzucić do niego kilka innych anchorpane, albo jakikolwiekPane jako dzieci i później w kontrolerze je podmieniać wywołując toFront() po wciśnięciu odpowiednich przycisków
  • Odpowiedz
#programowanie #java
Jakie narzędzie stosujecie do tworzenia projektów #javafx ? Z tego co czytałem to z mavenem jest jakiś problem jeśli chodzi o tą technologie. W NetBeansie strasznie topornie działa mavenowy projekt JavaFX (długi czas trwania procesu kompilacji/uruchamiania projektu), natomiast w Ant wszystko fajnie śmiga. Jakieś refleksje na ten temat?
#programowanie #java #javafx
Mam dane w postaci listy obiektów klasy Instance. Chcę stworzyć tableView wyświetlający w każdym wierszu jeden obiekt Instance zawierający jakieś wartości double/int/String. Problem jest w tym że ładując dane z pliku nie wiadomo ile kolumn ma miec tabela i trzeba kolumny dodawać w trakcie działania programu. Mam taki kod:
http://wklej.org/id/1742726/
Jak zrobić żeby w 12 linijce mógł się odwołać do "i"?
@cinek181992: nowa twoja klasa rozszerzająca Callback i przekazanie do niej tej wartości "i" a następnie ustawienie obiektu tej klasy w metodzie "setCellValueFactory"?
  • Odpowiedz
@cinek181992: Przenieś tworzenie Callback do oddzielnej klasy i przekazuj i jako parametr konstruktora?

column.setCellValueFactory(new CustomCallback(i));
I tworzysz sobie: class CustomCallback implements Callback, w której implementujesz metodę call i tyle.
  • Odpowiedz
Mirki, trochę się ogarnąłem z #java i stwierdziłem, że projekt, który rozgrzebałem jest ponad moje siły, jak na pierwszy projekt początkującego - prosty menadżer magazynu sklepowego okazał się być wcale nie tak prosty. Postanowiłem zrobić zatem inną, mniej skomplikowaną apkę.
Docelowo TimeKeeper, bo tak się nazywa, ma być zegarem/timerem do śledzenia czasu poświęconego na pracę nad danym zadaniem (inspiracją był blogowy wpis @JavaDevMatt). Jeśli chodzi o rozwiązania projektowe: dane przechowywane są
k.....e - Mirki, trochę się ogarnąłem z #java i stwierdziłem, że projekt, który rozgr...

źródło: comment_vqhD1LY0shp2YTcXGuCrfmDCwZhJGies.jpg

Pobierz
@kitke: jeśli można się przyczepić to na pewno do e.printStackTrace() przy wyjątkach np. operacji plikowych. Powinien pokazać się jakiś komunikat o błędzie dla użytkownika...
  • Odpowiedz