Я пытаюсь изменить текст ярлыка GUI программного обеспечения JavaFX каждый раз, когда пользователь переходит на эту страницу. Для этого я должен иметь возможность изменять значения этой метки, например, анализировать ее на переменную и делать это.Нельзя манипулировать ярлыком из JavaFX
Проблема в том, что все эти метки написаны на FXML, я не знаю, как правильно использовать его на Java. Я пробовал:
@FXML public Label WordID;
, чтобы сделать ярлык (который имеет «WordID» как идентификатор), но я потерпел неудачу. Когда я это сделаю, программа просто не пойдет в этот фрейм. Что я делаю?
Код:
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:
<Label fx:id="WordID" layoutX="393.0" layoutY="148.0" prefWidth="177.0" text="">
<font>
<Font name="Avenir Roman" size="40.0" />
</font>
</Label>
Кнопка Слушатель из screen2: сообщение
@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» 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) в com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent (CompositeEventDispatcher.java:38) com.sun.javafx.tk.quantum.GlassViewEventHandler $ MouseEventNotification.run (GlassViewEventHandler.java:250) at com.sun.javafx.tk.quantum.GlassViewEventHandler $ Мышь EventNotification.run (GlassViewEventHandler.java:173) на java.security.AccessController.doPrivileged (Native Method) в 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