HALLOWEEN JE TADY: Získej 66 % extra kreditů zdarma při nákupu od 1199 kreditů s promo kódem NEBOJSEIT66. Zjisti více:
NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:

Diskuze – Lekce 2 - FXML a první formulářová aplikace v JavaFX

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na Petr Štechmüller
pocitac770:16.10.2016 13:38

které navazují na normální, protože byl neaktualizován (ale přesto ve většině věcí normálně funkční

Avatar
rosatislav
Člen
Avatar
Odpovídá na pocitac770
rosatislav:16.10.2016 17:18

Ok ok, špatně jsem to pochopil, za to se omlouvám... Každopádně když jsem se to pokoušel stáhnout z této stránky, tak se to zhruba v 70% vždy zastavilo a nepodařilo.. (možná je chyba na mé straně).. tak jsem po chvíli hledání narazil na gluon, který je co se týče uživatelského rozhraní dost podobný.

Avatar
Atrament
Člen
Avatar
Odpovídá na rosatislav
Atrament:16.10.2016 17:38

Situace se SceneBuilderem se má tak, že se Oracle před časem rozhodl přestat vydávat jeho binárky, pouze poskytuje zdrojáky. Gluon poskytuje binárky sestavené z těchto zdrojáků, takže se dá brát jako oficiální SceneBuilder. Vyjádření Oracle <a href='http://­www.oracle.com/technet­work/java/java­se/downloads/sb2dow­nload-2177776.html'>zde</­a>. Jaké k tomu měl Oracle důvody nevím, předpokládám, že je to v souladu s jejich firemní politikou 'posereme na co sáhneme' :(

Avatar
Moss
Člen
Avatar
Moss:24.3.2018 10:40

Ahoj, po kliknuti na tlacidlo mi program hadze toto: Exception in thread "JavaFX Application Thread" java.lang.Run­timeException: java.lang.reflec­t.InvocationTar­getException
controller:

package sample;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;

import java.net.URL;
import java.util.ResourceBundle;

public class Controller implements Initializable {

    @FXML
    private Label label1;

    @FXML
    private void buttonAction(ActionEvent event) {
        label1.setText("Klikli ste na mopsla");
    }

     @Override
     public void initialize(URL url, ResourceBundle rb) {

     }
}

main:

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>


<GridPane alignment="center" hgap="10" vgap="10" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/9.0.4" fx:controller="sample.Controller">
   <columnConstraints>
      <ColumnConstraints />
   </columnConstraints>
   <rowConstraints>
      <RowConstraints />
   </rowConstraints>
   <children>
      <Pane prefHeight="200.0" prefWidth="200.0">
         <children>
            <Button fx:id="button1" layoutX="71.0" layoutY="73.0" mnemonicParsing="false" text="Button" onAction="#buttonAction"/>
            <Label fx:id="label1" layoutX="67.0" layoutY="116.0" text="I love pugs" />
         </children>
      </Pane>
   </children>
</GridPane>

Dakujem za vsetky odpovede.

Avatar
Mango
Tvůrce
Avatar
Odpovídá na Moss
Mango:25.3.2018 12:12

Nemá to být public void? V Controlleru

Odpovědět
Nezáleží na věku ale na vědomostech ;D
Avatar
Odpovídá na Mango
Petr Štechmüller:25.3.2018 12:57

Myslíš u této metody:

@FXML
    private void buttonAction(ActionEvent event) {
        label1.setText("Klikli ste na mopsla");
    }

Díky anotaci @FXML to může být private.

Odpovědět
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Marty
Člen
Avatar
Marty:4.8.2018 4:24

U FX se mi nelíbí to bílé pozadí. Nedá se podobně jako u Swing nastavit "Windows" style, aby to pozadí bylo klasicky světle šedé?

Editováno 4.8.2018 4:26
Avatar
Odpovídá na Marty
Petr Štechmüller:4.8.2018 8:25

Ahoj, když se Ti nelíbí bílá, tak si barvu změn pomocí CSS

Odpovědět
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Marty
Člen
Avatar
Odpovídá na Petr Štechmüller
Marty:4.8.2018 22:47

A jo, díky. Hned se na to líp dívá. :)

Avatar
MiroslavP
Člen
Avatar
MiroslavP:11.10.2018 21:23

Velmi názorné, poutavé vysvětlení. Děkuji

Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 70.