当前位置: 首页 > 知识库问答 >
问题:

从swing调用java fxml

缪晋
2023-03-14

我在一个程序中使用javafxml和swing。当我单击swing上的按钮时,我需要一个文本显示在javafx面板中。如何获取fxml控制器的对象,以便我可以用它来更新FX面板中的更改?有谁能帮忙解决这个问题吗?提前道谢!

我们已经尝试从FX访问swing,在那里我们成功了。但另一部分是不可能的。

public void actionPerformed(java.awt.event.ActionEvent e) 
{
     FXMLLoader loader = new FXMLLoader(
                getClass().getResource(
                  "FXMLDocument.fxml"
                )
              );
     FXMLDocumentController controller = 
                loader.<FXMLDocumentController>getController();
              controller.updatePage("hello boss");
}
public class FXMLDocumentController 
{
@FXML public Text actiontarget;

public void updatePage(String data){
    System.out.println("Testing phase");
    this.actiontarget.setText(data);
}

我们正在获取NullPointerException。无法以这种方式在fxpanel中设置文本。

共有1个答案

聂昱
2023-03-14

我认为您在actionPerformed方法的前两条语句之间缺少一行:

public void actionPerformed(java.awt.event.ActionEvent e) 
{
     FXMLLoader loader = ...;

     Parent  gridpane = (Parent) loader.load();

     FXMLDocumentController controller = ....;
     controller.updatePage("hello boss");
}
 类似资料:
  • 问题内容: 我只是实现了继承JPanel的类,如下所示 Orpanel类正在加载图像并调整其自身大小。 这是问题。 调用JFrame的setContentpane(Orpanel的实例)使其工作正常,但是当我将Orpanel附加到JFrame时,调用add()方法而不是setContentpane(我知道setcontentpane并不意味着attach ..反正),它就行不通了。 终于弄清楚了当

  • 问题内容: 我在这里遇到问题-选择颜色后(使用JColorChooser),十六进制值存储在文本字段中。我想做的是在十六进制值旁边的另一个文本框中显示颜色的 名称 ,但是我不确定如何获得颜色名称?我包含了我的代码,也许有人可以给我一些有用的提示: 问题答案: 我是通过以下方式实现的:(在中定义的作品) 这是我的代码: 来源:http : //ganeshtiwaridotcomdotnp.blog

  • 我有一个简单的单元测试来确保应用程序的主窗口被解除: AbstractMainWindowTest是: ScaleRuler是我的框架,它暂时什么也不做,只是setundered(真)。测试运行良好。如何从Cucumber中执行相同的测试? 我尝试使用WindowAspectSteps来扩展AbstractMainWindowTest,但是窗口变量仍然为null。

  • 问题内容: 我正在创建一个连接到Web服务器的Swing应用程序,并运行一些servlet(由我自己创建)。用户第一次连接时,会获得一个“ playerID”,该“ playerID”将保存在他的servlet会话中。当我尝试从Swing应用程序再次调用servlet时,似乎无法识别“ PlyaerID”。我正在拨打一个简单的电话以获得PlayerID。Servlet识别这种类型的请求,并发送带有

  • 问题内容: 我的Swing登录页面包含userName和密码以及一个Submit按钮。 我需要将用户名和密码传递给LoginAction servlet,并且需要通过servlet在控制台中获取userName和密码。 我的Swing代码是, 我的Servlet是 请任何帮助我找到解决方案。 如果我提交了秋千页,则什么都没有发生。我需要在控制台中使用userName和密码e。 提前致谢… 问题答案