Diskuze: problem se spustenim vychozi JavaFX aplikace
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 15 zpráv z 15.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.


ahoj,
můžeš poslat kód?
PS: používej prosím tlačítko pro vložení kódu 
Caused by: java.lang.NullPointerException: Location is required.
Tato vyjímka znamená, ze se pokoušíš otevřít soubor z neexistující cesty. Jestli se pokoušíš otevřít .FXML soubor pro načtení view, tak ho zkus přesunout ke třídě, která ho otevírá. Když to nezabere, tak pokud máš standartní uspořádání složek projektu (všechno ve složce src), tak ten soubor přesuň do složky src)
diky,ale vsechny tri soubory, tzn. FXMLDocument.fxml, FXMLDocumentController.java a JavaFXApplication5.java jsou ve slozce src projektu. Co se tyce zdrojaku, nic nebylo zmeneno. Je to proste tak jak to netbeans vygeneruji po zalozeni projektu.
I tak sem pošli kód, co NetBeans vygenerovalo. Ať víme, na čem jsme.
package javafxapplication4;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class JavaFXApplication4 extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
dale .fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javafxapplication4.FXMLDocumentController">
<children>
<Button layoutX="126" layoutY="90" text="Click Me!" onAction="#handleButtonAction" fx:id="button" />
<Label layoutX="126" layoutY="120" minHeight="16" minWidth="69" fx:id="label" />
</children>
</AnchorPane>
a controller
package javafxapplication4;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
public class FXMLDocumentController implements Initializable {
@FXML
private Label label;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
label.setText("Hello World!");
}
@Override
public void initialize(URL url, ResourceBundle rb) {
}
}
Prosím tě, můžeš sem ještě poslat screen složkoveho uspořádáni projektu? Vypadá to, že to bude problém s packagem.
Je to nějaký divný. Zkus vzít ten FXMLDocument.fxml a přesunout ho o složku výš, tedy přímo do složky src.
Nepomaha.
Kazdopadne pokud vytvorim v tom samem package projektu new FX Main Class a zkusim ji spustit, tak vse bezi jak ma..Normalne se mi zobrazi view programu Hello world. Takze mam ted navic NewFXMain.java. Jak ho spojim se souborem .fxml? Proste abych mohla vsechny prvky pohodlne upravovat ve scene builderu.
"propojuje" se to timto řádkem:
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Zde se načte ten fxml soubor a propojí.
Dobre zde je ten funkcni zdrojak. a jak to udelam abych mohla jednotlive graf. komponenty upravovat v scene builderu?
package javafxapplication5;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class NewFXMain extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Tak za 1. všechno včetně řádku s kódem:
StackPane root = new StackPane();
se smaže.
2. místo zmíněného řádku napíšeš toto:
Parent root = FXMLLoader.load(); // Jako parametr se bere cesta k FXML souboru
Jsou různé způsoby jak získat cestu k souboru. Tím nejjednodušším je už přes zmíněné:
getClass().getResource("nazevFxmlSouboruCoJeVeStejneSlozceJakoSpustenySoubor");
Pokud ani tohle nezabere, tak si zjisti, jak to zkompilovat ručně a pak uvidíš, kde je problém. Protože to vypadá, že chyba je v NetBeansech.
asi je chyba v Netbeans...resime tady neco co by melo fungovat bez tehle vsech manipulaci...
Tak to zkus zkompilovat ručně. Pokud všechno bude fungovat, tak ano, je chyba v NetBeans
Zobrazeno 15 zpráv z 15.