News.fxml
fxml
1<?xml version="1.0" encoding="UTF-8"?> 2 3<?import javafx.scene.control.*?> 4<?import java.lang.*?> 5<?import javafx.scene.layout.*?> 6<?import javafx.scene.layout.BorderPane?> 7 8<BorderPane xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.NewsController"> 9 <left> 10 <Pane minHeight="311.0" minWidth="236.0" prefHeight="365.0" prefWidth="409.0" BorderPane.alignment="CENTER"> 11 <children> 12 <Label fx:id="nowTime" text="d" layoutX="95.0" layoutY="14.0" prefHeight="44.0" prefWidth="220.0" /> 13 </children> 14 </Pane> 15 </left> 16</BorderPane>
NewsController.java
java
1package application; 2 3import javafx.fxml.FXML; 4import javafx.scene.control.Label; 5 6 7public class NewsController{ 8 @FXML 9 public Label nowTime; 10 @FXML 11 public void setLabel(){ 12 nowTime.setText("時間がかえる"); <--ここを反映 13 } 14}
Main.java
Java
1package application; 2 3import java.net.URL; 4 5import javafx.application.Application; 6import javafx.stage.Stage; 7import javafx.scene.Scene; 8import javafx.scene.control.Label; 9import javafx.scene.layout.BorderPane; 10import javafx.fxml.FXML; 11import javafx.fxml.FXMLLoader; 12 13 14public class Main extends Application { 15 16 @Override 17 public void start(Stage primaryStage) { 18 try { 19 URL fxml = getClass().getResource("News.fxml"); 20 FXMLLoader loader = new FXMLLoader(fxml); 21 BorderPane root = (BorderPane)FXMLLoader.load(fxml); 22 Scene scene = new Scene(root,400,400); 23 scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 24 primaryStage.setScene(scene); 25 primaryStage.setTitle("News"); 26 primaryStage.show(); 27 NewsController controller = loader.getController(); 28 controller.setLabel(); 29 30 } catch(Exception e) { 31 e.printStackTrace(); 32 } 33 } 34 public static void main(String[] args) { 35 launch(args); 36 37 } 38
参考 http://d.hatena.ne.jp/seraphy/20150411
setLabelの中身をfxmlにテキスト表示したく試しているのですが反映されず
エラーが出てnullpointerが出てしまします、どなたかご教授いただけないでしょうか
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。