相关疑难解决方法(0)

传递参数JavaFX FXML

如何将参数传递给javafx中的辅助窗口?有没有办法与相应的控制器通信?

例如:用户从a中选择一个客户,TableView并打开一个新窗口,显示客户的信息.

Stage newStage = new Stage();
try 
{
    AnchorPane page = (AnchorPane) FXMLLoader.load(HectorGestion.class.getResource(fxmlResource));
    Scene scene = new Scene(page);
    newStage.setScene(scene);
    newStage.setTitle(windowTitle);
    newStage.setResizable(isResizable);
    if(showRightAway) 
    {
        newStage.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

newStage将是新窗口.问题是,我找不到告诉控制器在哪里查找客户信息的方法(通过传递id作为参数).

有任何想法吗?

parameters dependency-injection javafx parameter-passing fxml

180
推荐指数
4
解决办法
16万
查看次数

MVVM的基本概念 - ViewModel应该做什么?

为了掌握MVVM的概念,我已经阅读了几个博客并查看了一些项目.

根据我的理解,一个视图是愚蠢的,它只知道如何呈现传递给它的东西.

模型只是普通数据,而ViewModel就像两者之间的填充,它应该从模型中获取信息并将其传递给View,View应该知道如何呈现它.或者反过来说,如果视图中的信息发生变化,它应该将更改传递给模型.

但我仍然不知道如何应用这个概念.有人可以解释一个非常简单的场景,以便我能掌握这个概念吗?我已经看过几个项目,但它仍然没有完全合理,所以如果有人能用简单的英语写出来,那就太好了.

mvvm

76
推荐指数
3
解决办法
3万
查看次数

存储库模式 - 如何理解它以及它如何与"复杂"实体一起工作?

我很难理解存储库模式.

关于该主题有很多意见,比如在Repository模式中做得正确,但其他东西如Repository是新的Singleton或者再次像在不使用DAO使用Repository或只是采取Spring JPA Data + Hibernate + MySQL + MAVEN在某种程度上存储库看起来与DAO对象相同.

我已经厌倦了阅读这些东西,因为imho这不是一件很难的事情,因为它在很多文章中都有展示.

我觉得这样:似乎我想要的是这样的:

         ------------------------------------------------------------------------
         |                            Server                                    |
         ------------------------------------------------------------------------
         |                    |                        |                        |
Client <-|-> Service Layer  <-|->  Repository Layer  <-|-> ORM / Database Layer |
         |                    |                        |                        |  
         ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

Service Layer需要*DTO的对象,并将这些的Repository Layer,基本上不外乎谁知道"的人"更是如何一个实体可以存储.

例如,假设您有一些工具的组合(请注意,这只是伪代码)

@Entity
class ToolSet {
  @Id
  public Long id;
  @OneToOne
  public Tool tool1;
  @OneToOne
  public Tool tool2;
}

@Entity
class …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate repository-pattern

68
推荐指数
1
解决办法
6万
查看次数

MVC与javaFX

我正在使用javaFX挣扎于MVC概念.我正在使用fxml文件构建一个javaFX应用程序.

每个fxml文件都分配了一个控制器,但我不认为这个控制器是MVC模式状态的控制器.我认为它像某种ViewController,它保存对fxml对象(按钮,窗格等)的引用.

我的问题是:这个"ViewController"与真正的"Controller"之间究竟有什么不同.什么对象应该做什么事情?我在哪里设置例如actionListeners?

java model-view-controller javafx javafx-2

21
推荐指数
1
解决办法
2万
查看次数

javafx 8兼容性问题 - FXML静态字段

我设计了一个javkx应用程序在jdk 7中工作正常.当我尝试在java 8中运行它时,我得到以下异常:

javafx.fxml.LoadException: 
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2595)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3230)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3191)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3164)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3140)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3132)


Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Root cannot be null
    at javafx.scene.Scene.<init>(Scene.java:364)
    at javafx.scene.Scene.<init>(Scene.java:232)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:204)
    at javafx.concurrent.EventHelper.fireEvent(EventHelper.java:219)
    at javafx.concurrent.Task.fireEvent(Task.java:1357)
    at javafx.concurrent.Task.setState(Task.java:720)
    at javafx.concurrent.Task$TaskCallable$2.run(Task.java:1438)
    at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301)
    at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:298)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:39)
    at com.sun.glass.ui.win.WinApplication$4$1.run(WinApplication.java:112)
    at java.lang.Thread.run(Thread.java:744)
Run Code Online (Sandbox Code Playgroud)

我发现原因是在控制器类的initialize方法中我无法在任何静态组件中使用内置方法.(例如:staticMyTextField.setText()导致java …

java java-7 java-8 javafx-2 javafx-8

16
推荐指数
1
解决办法
9447
查看次数

如何将fx控制器与主应用程序连接

我有一个主应用程序类和一个fxmlcontroller类,但我纠结于连接/组织(混淆了如何调用它们以及如何组织它们以使GUI连接业务逻辑)业务逻辑和GUI ....可以请一些人告诉我调用以下函数的顺序,或者可以帮助我如何调用它们....

主要课程

public void Main()        //constructor
public static void main() // our main
public void start()       //I don't know what it is, what purpose it has
                          // and where should be called
                          //Note: In main function there is a call as following
Run Code Online (Sandbox Code Playgroud)

fxmlController类

public void initialize()  //I don't know what it is and what purpose it has
public fxmlController()   // which function should be called here....
Run Code Online (Sandbox Code Playgroud)

java model-view-controller user-interface javafx fxml

6
推荐指数
1
解决办法
3万
查看次数

JavaFX - 许多静态FXML控制器

JavaFX存在一个应用程序,应用程序从以下Main.class文件开始extends Application:

  public class Main extends Application {

    /**
     * Keep a reference to the main Stage
     */
    public static Stage                 stage;
    /**
     * MainScene Controller
     */
    public static MainScene             mainSceneController;
    /**
     * The Capture Window of the application
     */
    public static CaptureWindow         captureWindowController;
    /**
     * Settings Scene Controller
     */
    public static SettingsController    settingsController;

    @Override
    public void start(Stage primary) throws Exception {

        stage = primary;
        ..........

        // CaptureWindow
        FXMLLoader loader1 = new FXMLLoader(getClass().getResource("/fxml/CaptureWindow.fxml"));
        loader1.load();
        captureWindowController …
Run Code Online (Sandbox Code Playgroud)

java javafx

6
推荐指数
1
解决办法
1120
查看次数

如何在JavaFX中使用来自另一个Controller的变量

我有两个场景Login.fxml和MainView.fxml以及两个不同的控制器LoginController.java和MainViewControler.java

在LoginController中,我执行整个登录过程并获取JSessionID的值并将其存储在对象中,如下所示:

loginGateway = loginGateway(gateway);
Run Code Online (Sandbox Code Playgroud)

现在在MainViewController中我需要使用this对象(loginGateway)来获取getJSessionID并向服务器发出其他请求.但是如何在另一个Controller类(MainViewController.java)中访问此对象?

java controller javafx viewcontroller javafx-2

4
推荐指数
1
解决办法
9793
查看次数

一个控制器到2 fxmls(JavaFX)

可以将两个FXML(JavaFX)文件连接到一个控制器吗?我不能通过在每个FXML文件中更改"fx:controller"来做到这一点......

有任何想法吗?

javafx controllers fxml

3
推荐指数
1
解决办法
6563
查看次数

在JavaFX中关闭子窗口后如何刷新父窗口?

我有一个显示人的父窗口,即:

姓名:约翰

姓氏:布朗

年龄:18

我单击编辑按钮,子窗口打开,更改名字,然后单击接受,子窗口关闭,更改保存在 mysql 数据库中,但父窗口仍显示旧值。我确实有一个有效的刷新方法,但是如何从子窗口调用它或将其设置为在关闭子窗口后调用?

父窗口和子窗口都有控制器和 fxml。任何帮助,将不胜感激。

java javafx fxml

3
推荐指数
2
解决办法
9629
查看次数