SparkMonkay
Commander
- Registriert
- Feb. 2013
- Beiträge
- 2.337
Moin!
Aktuell versuche ich mich mit JavaFX mit XML gefällt mir sehr und der SceneBuilder ist auch angenehm zu benutzen. Nur stecke ich bei einer Sache fest. Wenn ich das Programm starte will ich dass ein Label in abhängigkeit von etwas etwas anderes anzeigt. Also z.B. Datum, Monat, einen String den ich von einer Seite aus dem Internet Parse oder was auch immer.
Aktuell sieht es so bei mir aus:
Die Methode in dem Controller war einer der Sachen die ich getestet habe die aber nicht funktioniert haben, Oder muss ich es "seperat" einfügen um es dann so zu bearbeiten wie ich es gerne hätte? Was ist das einfachste?
Danke sehr!
Grüße Spark
Aktuell versuche ich mich mit JavaFX mit XML gefällt mir sehr und der SceneBuilder ist auch angenehm zu benutzen. Nur stecke ich bei einer Sache fest. Wenn ich das Programm starte will ich dass ein Label in abhängigkeit von etwas etwas anderes anzeigt. Also z.B. Datum, Monat, einen String den ich von einer Seite aus dem Internet Parse oder was auch immer.
Aktuell sieht es so bei mir aus:
Die Methode in dem Controller war einer der Sachen die ich getestet habe die aber nicht funktioniert haben, Oder muss ich es "seperat" einfügen um es dann so zu bearbeiten wie ich es gerne hätte? Was ist das einfachste?
Code:
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import java.util.Calendar;
public class Controller
{
@FXML
Label label = new Label("TEST");
@FXML
Button button;
@FXML
private void buttonOnAction()
{
label.setText("LABEL");
}
public void setLabelText(String text)
{
label = new Label(text);
}
}
Code:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<HBox fx:controller="Controller" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="96.0" prefWidth="212.0" xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Button fx:id="button" mnemonicParsing="false" onAction="#buttonOnAction" prefHeight="96.0" prefWidth="105.0" text="Button" />
<Label fx:id="label" prefHeight="96.0" prefWidth="121.0" />
</children>
</HBox>
Code:
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class Main extends Application
{
@Override
public void start(Stage primaryStage) throws Exception
{
FXMLLoader loader = new FXMLLoader();
Pane mainPane = loader.load(getClass().getResourceAsStream("test.fxml"));
Controller controller = new Controller();
controller.setLabelText("TEST");
Scene scene = new Scene(mainPane);
primaryStage.setTitle("Hello World");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args)
{
launch(args);
}
}
Danke sehr!
Grüße Spark