package com.example.qqeasy; import com.example.qqeasy.chatInterface.Sc.Server; import com.example.qqeasy.chatInterface.chatCon.ChatConCli; import com.example.qqeasy.chatInterface.chatCon.ChatConSer; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; import java.util.Objects; public class t extends Application { public void start(Stage primaryStage) throws Exception { // 加载FXML文件 FXMLLoader clientLoader = new FXMLLoader(Objects.requireNonNull(getClass().getClassLoader().getResource("chat1.fxml"))); Parent clientRoot = FXMLLoader.load(Objects.requireNonNull(getClass().getClassLoader().getResource("chat1.fxml"))); ChatConCli clientController = clientLoader.getController(); FXMLLoader serverLoader = new FXMLLoader(Objects.requireNonNull(getClass().getClassLoader().getResource("chat2.fxml"))); Parent serverRoot = FXMLLoader.load(Objects.requireNonNull(getClass().getClassLoader().getResource("chat2.fxml"))); ChatConSer serverController = serverLoader.getController(); // 创建场景 Scene clientScene = new Scene(clientRoot,593,660); Scene serverScene = new Scene(serverRoot,600,400); // 设置舞台 primaryStage.setScene(clientScene); primaryStage.show(); // 启动服务器 Server server = new Server(serverController); server.start(); // // 设置按钮点击事件 // Button sendButton = (Button) clientRoot.lookup("#sendButton"); // sendButton.setOnAction(e -> clientController.sendMessage()); } public static void main(String[] args) { launch(args); } } 运行后白屏
时间: 2024-04-14 11:29:36 浏览: 161
!!!!ap6212a0_a33_sc3817r_验证通过_修正wifi的配置文件为nvram_ap6212.txt
根据你提供的代码,白屏的原因可能是以下几点:
1. FXML文件路径错误:检查一下`chat1.fxml`和`chat2.fxml`文件是否位于正确的路径下。确保这两个文件都在与`t.java`相同的目录或子目录下。
2. 控制器类没有正确加载:在`FXMLLoader.load()`方法中,你应该传递`clientLoader`和`serverLoader`,而不是重新创建一个新的`FXMLLoader`对象。修改以下代码:
```java
Parent clientRoot = clientLoader.load();
Parent serverRoot = serverLoader.load();
```
3. FXML文件中的根元素问题:确保`chat1.fxml`和`chat2.fxml`文件中的根元素与对应的Controller类相匹配。例如,如果`chat1.fxml`中的根元素为`AnchorPane`,则对应的Controller类应该是`ChatConCli`,确保这两者一致。
请检查以上三点,并确保代码中没有其他问题,然后再次运行程序,看看是否能够正常显示界面。如有需要,请提供更多的代码和错误信息以便我更好地帮助你解决问题。
阅读全文