首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JFxtas液晶显示器极大值

JFxtas液晶显示器极大值
EN

Stack Overflow用户
提问于 2013-12-27 18:41:37
回答 2查看 451关注 0票数 0

我在试着用Jfxtras的液晶显示器。下面是我必须创建的代码:

代码语言:javascript
复制
    final Gauge lcd = GaugeBuilder.create()
            .gaugeType(GaugeBuilder.GaugeType.LCD)
            .lcdDesign(LcdDesign.DARKAMBER)
            .prefWidth(200)
            .prefHeight(85)
            .maxValue(9999)
            .build();

然后,我将量规的值设置为:

代码语言:javascript
复制
    Platform.runLater( new Runnable() {

        @Override
        public void run() {
            lcd.setValue(245);
        }
    });

无论我做什么,显示的最大值似乎总是100。是否有任何方法可以覆盖这个值并显示一个不同的最大值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-28 04:17:24

好吧-我一开始就放弃了这一点,做了我自己的丑陋的展示,但就是无法阻止进一步挖掘。

我查看并构建了jfxtras-labs源代码,并发现了我的问题。

jfxtras.labs.scene.control.gauge.GaugeModel的构造函数中,有一个私有的、不可修改的scale属性:

private ObjectProperty<LinearScale> scale;

在默认构造函数中初始化为min为0,最大值为100是硬编码的。

scale = new SimpleObjectProperty<LinearScale>(new LinearScale(0, 100));

此构造函数由量规和液晶显示器共同使用。

目前,除了修改源代码之外,我还没有找到任何方法来修改这个属性。

下面是我修改了上面的行,以解决我的问题:

scale = new SimpleObjectProperty<LinearScale>(new LinearScale(Integer.MIN_VALUE, Integer.MAX_VALUE));

我从这里观察到的唯一顺流副作用是,在这样做之后,您需要在构建量规时设置min/max属性,否则径向量规就会变得无用,因为它们的刻度是不可读的。

我没有看到任何其他的问题,但这并不意味着我没有介绍任何。所以你要承担自己的风险。

票数 1
EN

Stack Overflow用户

发布于 2014-02-07 10:30:24

我和你有同样的问题。问题是GaugeBuilder会更改模型最大值,但不会更改视图的最大值。

你不需要覆盖消息来源。

你所需要的就是:

最终量规lcd = GaugeBuilder.create().gaugeType(GaugeBuilder.GaugeType.LCD).lcdDesign(LcdDesign.DARKAMBER).prefWidth(200).prefHeight(85).maxValue(9999).build();

//下面的代码非常重要

lcd.setMaxValue(9999);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20806030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档