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

从Java代码(控制器类外部)访问javaFX元素

景元徽
2023-03-14

共有1个答案

慕烨烁
2023-03-14

所以我认为您的解决方案取决于您需要您的信息在与FX GUI接口时的安全性。如果您可以将数据直接提供给控制器,那么我建议您将数据对象传递到控制器的构造函数中,并在本地存储对它的引用。然后,您可以使用数据对象中的任何getters/setters来填充您的GUI或更新模型。

 public class Controller {
      private Object dataObject;

      public Controller(Object dataObject) {
           this.dataObject = dataObject;
      }
 }

但是,如果您希望保护您的数据,并防止GUI直接修改或与之交互-您将需要使用一个保护您的信息的包装器。

 public class Wrapper {
      private Object dataObject;

      public Controller(Object dataObject) {
                this.dataObject = dataObject;
      }

      // allowable function call
      public Object functionOne() {
           return dataObject.functionOne();
      }
 }

您只需要在包装器中实现GUI直接需要的函数,从而防止您认为应该从GUI中限制的对您的数据对象的调用。

 public class Controller {
      private Wrapper dataObject;

      public Controller(Wrapper dataObject) {
           this.dataObject = dataObject;
      }
 }
 类似资料:
  • 问题内容: 我有上面的控制器,它设置了一个我只能从内部访问值的控制器。 但我看到的地方,使用下面我将能够访问,但是当我在它不存在。 我无法弄清楚如何访问$ scope并使用变量更新它。 问题答案: 没有看到标记,我想MenuSideController的作用域是您选择的作用域的子作用域。 虽然可以像这样遍历树(假设我们想要的作用域是第一个孩子): 仅选择连接了特定控制器的元素会更简单。 假设您正在

  • 在应用程序中使用JavaFX,我有一个main.fxml文件,其中包含一些fxml子文件。 我想从子控制器访问Main.fxml的MainController类。 我试着用一个例子来解释得更好: MainFXML: 主控制器: ChildFXML:

  • 问题内容: 如何从内部类访问外部类? 我正在重写一种使它在不同线程上运行的方法。从内联线程中,我需要调用原始方法,但是当然只要调用就会变成无限递归。 具体来说,我在扩展BufferedReader: 这个地方给了我我找不到的NullPointerException。 谢谢。 问题答案: 像这样: 上面的测试在执行时显示:

  • 我怎么绕过这个?我需要以某种方式再次实现那个方法,但突然间我不能通过作为一个论点的阶段。

  • 我是新手,正在尝试学习JavaFX和FXML。我的大部分应用程序逻辑都在FXMLController类中,基类几乎是空的,除了NetBeans IDE生成的基本代码,如下所示 我有一个ID为input1的元素,类型为TextField。如何通过ID访问此(或任何其他)控件?(请记住,我是控制器类而不是主类)。 我在下面找到了这个问题,这正是我要找的,但情况不同,因为它们在定义< code>scen

  • 这让我的头撞到了墙上!!!!希望有人能给我指出正确的方向。我确信我在做一些完全愚蠢的事情。我找了又找,但似乎找不出为什么这不管用!!(在IntelliJ IDE 15.x上使用JDK8.x和Scenebuilder)。我试图在GUI上显示数据,但希望access通过编程将这些数据从其他类/方法发送给它。。。。下面是一个简单的概念,我在着手更大的项目之前,正试图让它发挥作用: 我的简单GUI在FXM