JavaFX - cała logika w fxml

0

Hej. Przeszukuje cały internet i nie mogę znaleźć nawet głupiego przykładu na obsłużenie całej logiki programu w pliku fxml, czyli bez żadnych kontrolerów itp.
Mam do zrobienia dwie rzeczy:

  1. Załadowanie dynamiczne klasy .css do projektu na kliknięcie buttona
  2. Wczytanie pliku tekstowego z komputera i wyświetlenie jego zwartości

Ktoś ma jakieś sugestie? Jakieś pomocne strony gdzie znajde przykłady?

<Button fx:id="okBtn" alignment="CENTER_RIGHT"
			contentDisplay="CENTER" mnemonicParsing="false"
			onAction="buttonAction(event);" text="ChangeCssStyle" textAlignment="CENTER" />
1

Pliki FXML służą do definiowania widoków (wyglądu formatek), nie do zawierania logiki aplikacji od tego masz kontrolery. Wątpię udało Ci się znaleźć magiczne obejście abyś w pliku FXML mógł zamieścić metodę onAction(event) napisaną w... właśnie w czym? JavaScripcie?

0
MrMadMatt napisał(a):

Pliki FXML służą do definiowania widoków (wyglądu formatek), nie do zawierania logiki aplikacji od tego masz kontrolery. Wątpię udało Ci się znaleźć magiczne obejście abyś w pliku FXML mógł zamieścić metodę onAction(event) napisaną w... właśnie w czym? JavaScripcie?

Oczywiście, że masz racje. Powiedz to mojemu doktorkowi na uczelni... Zażyczył sobie całej logiki w fxml

0

W trakcie semestru czÄĹÄ zadaĹ byĹa zrealizowana przez niektĂłrych uczestnikĂłw kursu z wykorzystaniem JavaFX. Zwykle byĹy to aplikacje posiadajÄce opis interfejsu w pliku fxml, ktĂłry obsĹugiwany byĹ przez kontroler napisany w jÄzyku Java. Niniejsze zadanie ma na celu zapoznanie siÄ z moĹźliwoĹciami JavaFX, ktĂłre wybiegajÄ poza takie standardowe zastosowania.

Zadanie polega na stworzeniu aplikacji korzystajÄcej z JavaFX w niestandardowy sposĂłb. Ten niestandardowy sposĂłb ma polegaÄ na oskryptowaniu caĹej logiki aplikacji w pliku fxml zamiast w kontrolerze pisanym w jÄzyku Java. W jÄzyku Java ma pojawiÄ siÄ tylko Ĺadowanie fxmla.

1

Jprdl jak się cieszę, że nie studiowałem informatyki i nie musiałem robić idiotycznych cudów na kiju :D

Zadanie na drugi semestr: Zrób całą logikę w HTML, żeby poznać jego zabójcze możliwości i stać się programistą HTML

0
NeutrinoSpinZero napisał(a):

Jprdl jak się cieszę, że nie studiowałem informatyki i nie musiałem robić idiotycznych cudów na kiju :D

Zadanie na drugi semestr: Zrób całą logikę w HTML, żeby poznać jego zabójcze możliwości i stać się programistą HTML

Najgorsze, że to zadanie na 6 semestr :D

0

Czyli nikt nie ma żadnego pomysłu gdzie takie coś znajde? Domyślam się, że tam trzeba to w javascripcie jakoś obsłużyć. Ale nawet nie mam pojęcia jak tam zrobić taką wstawkę ;/

2

A jednak się da :P

<?language javascript?>

<AnchorPane ...>
    <fx:script>
        function test() {
            java.lang.System.out.println('kek');
        }
    </fx:script>
    <Button ... onAction="test()"/>
</AnchorPane>

https://docs.oracle.com/javase/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html#scripting

2

Przesadzacie trochę. Przeciez autor zadania nigdzie nie napisał że to jest dobra praktyka i ze tak należy pisać. Ba, wręcz przeciwnie, wyraźnie zaznaczył w zadaniu ze to jest bardzo niestandardowy pomysł a celem jest sprawdzenie w jaki sposób można to osiągnąć ;) Jest w tym pewien walor edukacyjny, bo dzięki temu będziemy na przyszłość wiedzieć co się dzieje, jak się człowiek z czymś takim spotka. Ot głupi przykład -> wiemy że nie jest bezpieczne branie losowego pliku fxml i wrzucanie go do aplikacji, bo może on zawierać niebezpieczny kod, a nie tylko samą definicję widoku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1