此代码不允许在我的窗口中绘制线条...我在 fxml 文件中只有一个简单的 Pane ,其 fx:id 为 hi 用于测试。没有错误,该行根本没有出现。我也用盒子和圆圈试过这个。我真的需要帮助,这是一个重要的项目。

import java.net.URL; 
import java.util.ResourceBundle; 
import javafx.fxml.FXML; 
import javafx.fxml.Initializable; 
import javafx.scene.layout.AnchorPane; 
import javafx.scene.layout.BorderPane; 
import javafx.scene.layout.Pane; 
import javafx.scene.shape.Line; 
import javafx.scene.Scene; 
import javafx.scene.paint.Color; 
 
public class PlotSceneController implements Initializable { 
 
    @FXML 
    Pane hi; 
 
    @Override 
    public void initialize(URL url, ResourceBundle rb) { 
 
    Line line = new Line(0,0,10,110); 
        line.setStroke(Color.BLACK); 
        line.setStrokeWidth(10); 
        hi.getChildren().addAll(line); 
 
    } 
 
} 

FXML 文件

<?xml version="1.0" encoding="UTF-8"?> 
 
<?import javafx.scene.shape.*?> 
<?import java.lang.*?> 
<?import java.net.*?> 
<?import java.util.*?> 
<?import javafx.scene.*?> 
<?import javafx.scene.control.*?> 
<?import javafx.scene.layout.*?> 
 
 
<Pane fx:id="hi" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="- 
Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0"  
xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> 
<children> 
 
</children> 
</Pane> 

主类,通过一个按钮转到另一个页面,该按钮转到我遇到问题的页面。

public class Main extends Application { 
 
Stage firstStage; 
Scene loginButton; 
 
@Override 
public void start(Stage primaryStage) throws Exception {              
 
    Parent root = FXMLLoader.load(getClass().getResource("Main.fxml")); 
    firstStage = primaryStage;                   
    loginButton = new Scene(root, 900, 700);     
 
    primaryStage.setTitle("Treatment Data");             
    primaryStage.setScene(loginButton);          
    primaryStage.show();                         
} 
 
/** 
 * @param args the command line arguments 
 */ 
public static void main(String[] args) {        //Main class 
    launch(args);                       //Launches application/window 
} 

请您参考如下方法:

您没有设置 Controller 类 PlotSceneController.java。以不同的两种方式设置 Controller 类,例如使用主类 setController() 方法或在场景生成器屏幕的左下侧 Controller Pane 中设置 Controller 类。

使用主要

FXMLLoader loader = new FXMLLoader(getClass().getResource("Main.fxml")); 
loader.setController(new PlotSceneController()); 
Parent root = (Parent) loader.load(); 

或使用 FXML

像下面这样用完整的包路径设置 Controller 类


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!