javafx应用启动自动执行函数_JavaFx:Application start方法中的异常
這個問題在javaFx中經常重復,我的意思是這個例外:
Application start方法中的異常
因為你沒有發布你的堆棧跟蹤,任何人都可以找到你的問題,我建議你確定以下事項:
在您的主要應用中:
確保fxml文件的路徑正確 .
確保css文件的路徑正確無誤 .
在你的控制器中:
確保fxml中存在節點fx:id并且它是正確的 .
確保導入事件類 .
有些時候你會找到相同的類名,但不同的包
我給你一個 MouseEvent 的例子,它出現在 awt 包和 javafx 包中
我嘗試用所有條件編寫代碼,它調用異常,因為它可以找到Style.css(也許這是錯誤),但之后一切都很好:
這是您的主要應用程序:package stackoverflow;
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
/**
*
* @author Xlint Xms
*/
public class home extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("home.fxml")); //Be sure of your path
Scene scene = new Scene(root, 1300, 768);
scene.getStylesheets().add(getClass().getResource("Style.css").toExternalForm());//Be sure of your Style.css file
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
而你的控制器:
public class HomeController implements Initializable {
@FXML
private JFXButton log;
@FXML
private JFXButton engr;
@FXML
private Pane login,eng;
/*Be sure of MouseEvent class :It is in javafx package not awt package*/
@FXML
private void changeofpages(MouseEvent event) {
if (event.getTarget() == log) {
login.setVisible(true);
eng.setVisible(false);
} else if (event.getTarget() == engr) {
eng.setVisible(true);
login.setVisible(false);
}
}
@Override
public void initialize(URL location, ResourceBundle resources) {
}
這段代碼對我有用,我也希望你 .
總結
以上是生活随笔為你收集整理的javafx应用启动自动执行函数_JavaFx:Application start方法中的异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集成电路设计专业视频集(一)
- 下一篇: java数据结构_概述Java中的数据结