Hi Leute,
ich habe mir mit dem SceneBuilder etwas zusammengebastelt meine Idee ist, dass ich auf einer Pane, die sich in einer HBox befindet, zeichnen will.
Problem ist, dass ich beim SceneBuilder nichts zur Pane hinzufügen kann (da wollte ich Linien einfügen) und wenn ich innerhalb des Programms versuche, Linien zu erstellen und diese zu der Pane hinzufüge, bekomme ich eine NullPointer geschmissen.
Genauso wenn ich den Text des Labels verändern will.
Das Problem tritt auf, wenn ich "sinePane.getWidth()" aufzurufen denn er meckert es sei Null, doch ich habe es doch über FXML erzeugt, also verstehe ich nicht ganz?
Die anderen Elemente funktionieren doch auch..
Hier mal die Abschnitte:
Und hier das dazgehörige FXML:
ich habe mir mit dem SceneBuilder etwas zusammengebastelt meine Idee ist, dass ich auf einer Pane, die sich in einer HBox befindet, zeichnen will.
Problem ist, dass ich beim SceneBuilder nichts zur Pane hinzufügen kann (da wollte ich Linien einfügen) und wenn ich innerhalb des Programms versuche, Linien zu erstellen und diese zu der Pane hinzufüge, bekomme ich eine NullPointer geschmissen.
Genauso wenn ich den Text des Labels verändern will.
Das Problem tritt auf, wenn ich "sinePane.getWidth()" aufzurufen denn er meckert es sei Null, doch ich habe es doch über FXML erzeugt, also verstehe ich nicht ganz?
Die anderen Elemente funktionieren doch auch..
Hier mal die Abschnitte:
Java:
public void initView()
{
try
{
pane = FXMLLoader.load(getClass().getResource("ViewFXML.fxml"));
pane.setPadding(new Insets(10));
Line yLine = new Line(sinePane.getWidth()/2, 0, sinePane.getWidth()/2, sinePane.getHeight());
yLine.setStroke(Color.BLACK);
Line xLine = new Line(0, sinePane.getHeight()/2, sinePane.getWidth(), sinePane.getHeight()/2);
xLine.setStroke(Color.BLACK);
sinePane.getChildren().addAll(xLine, yLine);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
Und hier das dazgehörige FXML:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane fx:id="anchPane" prefHeight="517.0" prefWidth="530.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
<!-- TODO Add Nodes -->
<children>
<GridPane id="gp" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="156.0" prefWidth="416.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="24.0" AnchorPane.rightAnchor="90.0">
<children>
<Label fx:id="freL" text="Frequenz" GridPane.columnIndex="0" GridPane.rowIndex="1" GridPane.valignment="TOP" />
<Label fx:id="phaL" text="Phasenverschiebung" GridPane.columnIndex="0" GridPane.rowIndex="2" GridPane.valignment="TOP" />
<Slider fx:id="ampS" max="6.0" min="-6.0" prefHeight="39.0" prefWidth="322.0" showTickLabels="true" showTickMarks="true" GridPane.columnIndex="1" GridPane.rowIndex="0" />
<Slider fx:id="freS" max="40.0" showTickLabels="true" showTickMarks="true" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<Slider fx:id="phaS" max="10.0" min="-10.0" showTickLabels="true" showTickMarks="true" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<Label fx:id="ampL" text="Amplitude" GridPane.columnIndex="0" GridPane.rowIndex="0" GridPane.valignment="TOP" />
<Label fx:id="zoomL" text="Zoom" GridPane.columnIndex="0" GridPane.rowIndex="3" GridPane.valignment="TOP" />
<Slider fx:id="zoomS" max="210.0" pickOnBounds="false" showTickLabels="true" showTickMarks="true" snapToTicks="false" GridPane.columnIndex="1" GridPane.rowIndex="3" />
</children>
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="264.0" minWidth="10.0" prefWidth="118.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="431.0" minWidth="0.0" prefWidth="298.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="87.0" minHeight="10.0" prefHeight="87.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="134.0" minHeight="10.0" prefHeight="84.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="98.0" minHeight="10.0" prefHeight="88.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="98.0" minHeight="10.0" prefHeight="88.0" vgrow="SOMETIMES" />
</rowConstraints>
</GridPane>
<HBox id="HBox" fx:id="formelHBox" alignment="CENTER_LEFT" layoutX="14.0" layoutY="14.0" prefWidth="492.0" spacing="5.0">
<children>
<Label id="label" fx:id="formelL" prefHeight="33.0" prefWidth="129.0" text="" />
</children>
</HBox>
<HBox id="HBox" fx:id="drawHBox" alignment="CENTER" layoutX="24.0" layoutY="47.0" spacing="5.0">
<children>
<Pane fx:id="sinePane" prefHeight="312.0" prefWidth="492.0" />
</children>
</HBox>
</children>
</AnchorPane>