相关疑难解决方法(0)

在模型类中使用javafx.beans属性

在模型类中使用JavaFX bean属性是否正确?

我想知道在模型类中使用属​​性是否能够更容易地使用视图组件绑定它们是一个好习惯.我不担心将来这些库的可用性,因为我的程序将在JRE8或更高版本上运行,但在模型类中使用JavaFX库的性质让我持怀疑态度,我担心当前和未来的不兼容性,特别是因为我想使用Hibernate来持久保存这些属性.

注意:我使用纯JavaFX环境,在我的应用程序中永远不需要Swing兼容性.

java persistence hibernate model javafx

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

为什么将 TextField 绑定到正在另一个线程上更新的属性最终会导致应用程序抛出错误?

我有一个 javafx 应用程序,其中有多个选项卡(计时器、秒表、时钟),每个选项卡都有一个单独的控制器,用户可以使用开始/停止按钮添加和独立启动多个计时器。

我尝试将 TextField 绑定到另一个类 MyTimer 的属性,该属性跟踪经过的时间,但它最终(运行几秒钟后)开始抛出错误。(如果您检查下面的代码,请注意,只有将“Thread.sleep”设置为 10 毫秒时才会发生这种情况-当我将延迟增加到 100 毫秒时,它会继续运行大约一分钟并且没有崩溃-我没有进一步测试,因为我想解决根本原因而不是增加延迟)。

只是让您有一个快速的想法: 应用程序图片

MyTimer 类:

    public class MyTimer implements Startable {

...

    private long startNanoTime, storedElapsedTime, totalTime;
    private TimerStates state;
    private StringProperty timerStringProperty = new SimpleStringProperty(DEFAULT_TIMER_STRING_VALUE); 

    public MyTimer() {
        //constructor
    }

    public long getRemainingTime() {
        //returns remaining time
    }

    public StringProperty timerStringPropertyProperty() {
        return timerStringProperty;
    }

    @Override
        public boolean start() {
            if (this.state.isRunning() ) {
                System.out.println("Already running.");
                return false;
            }

            this.startNanoTime = System.nanoTime();
            this.state = TimerStates.RUNNING;

            Runnable startTimerRunnable = …
Run Code Online (Sandbox Code Playgroud)

java multithreading javafx property-binding javafx-bindings

5
推荐指数
1
解决办法
583
查看次数