我正在尝试创建一个JavaFX程序,每当我从jfoenix库中添加任何东西时我都会尝试运行我的代码我得到一个例外 - 我不完全确定它是什么虽然意味着......
我的代码是:
public class home extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("home.fxml"));
Scene scene = new Scene(root,1300,768);
scene.getStylesheets().add(getClass().getResource("Style.css").toExternalForm());
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;
@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 url, ResourceBundle rb) {
// TODO
}
}
答案 0 :(得分:0)
这个问题经常在javaFx中重复,我的意思是这个例外:
应用程序启动方法中的异常
因为您没有发布您的堆栈跟踪任何人都可以找到您的问题,我建议您确定以下事项:
在您的主要申请中:
在您的控制器中:
有时候你会找到相同的类名,但它会有不同的包
我举例说明了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) {
}
这段代码对我有用,我也希望你。