我試圖每次用戶轉到該頁面時更改JavaFX軟件GUI標籤的文本。爲此,我必須能夠更改該標籤的值,例如將其解析爲變量並執行這些操作。無法操作來自JavaFX的標籤
問題是,由於標籤全都是用FXML編寫的,我不知道如何在Java上正確使用它。我試過了:
@FXML public Label WordID;
爲了使標籤(其具有「WordID」作爲ID)的一個對象,但我失敗了。當我這樣做時,程序就不會再去那個框架了。我該怎麼辦?
代碼:
public class Screen3Controller implements Initializable, ControlledScreen {
ScreensController myController;
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
public void setScreenParent(ScreensController screenParent){
myController = screenParent;
}
@FXML
private void goToScreen1(ActionEvent event){
myController.setScreen(ScreensFramework.screen1ID);
}
@FXML
private void goToScreen2(ActionEvent event){
myController.setScreen(ScreensFramework.screen2ID);
}
}
FXML:從畫面2
<Label fx:id="WordID" layoutX="393.0" layoutY="148.0" prefWidth="177.0" text="">
<font>
<Font name="Avenir Roman" size="40.0" />
</font>
</Label>
按鈕偵聽:
@FXML
private void goToScreen3(ActionEvent event){
myController.setScreen(ScreensFramework.screen3ID);
WordID.setText("LOl");
}
錯誤消息:
玻璃檢測到突出的Java異常 - [GlassViewDelegate sendJavaMouseEvent:]:src/com/sun/mat/ui/GlassViewDelegate.m:543 線程「JavaFX Application Thread」中的異常java.lang.RuntimeException: ... com .sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:64) 在com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217) 在com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent (EventHandlerManager.java:170) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38)com.sun.javafx.tk.quantum.GlassViewEventHandler $ MouseEventNotification.run(GlassViewEventHandler.java:250) 在com.sun.javafx.tk.quantum.GlassViewEventHandler $ Mouse EventNotification.run(GlassViewEventHandler.java:173) 在java.security.AccessController.doPrivileged(本機方法) 在javafx.fxml.FXMLLoader $ ControllerMethodEventHandler.handle(FXMLLoader.java:1444) ...... 40多個 引起:顯示java.lang.NullPointerException 在screensframework.Screen3Controller.mostrarPalavra(Screen3Controller.java:89) ...... 50多個
'WordID'或'palavraID'? – Math
wordID。我已經改變了它,使它在StackOverflow上更具可讀性,但忘記了在FXML上進行更改。無論如何,我改變它後仍然無法工作 – user3088010
你想在標籤中寫什麼?什麼事件會觸發這個事件? – Math