gpt4 book ai didi

java - JFxtas Lcd 仪表最大值

转载 作者:行者123 更新时间:2023-12-01 13:40:47 25 4
gpt4 key购买 nike

我正在尝试使用 Jfxtras 中的 LCD 仪表。这是我必须创建仪表的代码:

    final Gauge lcd = GaugeBuilder.create()
.gaugeType(GaugeBuilder.GaugeType.LCD)
.lcdDesign(LcdDesign.DARKAMBER)
.prefWidth(200)
.prefHeight(85)
.maxValue(9999)
.build();

然后我将仪表的值设置如下:

    Platform.runLater( new Runnable() {

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

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

最佳答案

好吧 - 我最初已经放弃了这一点,并制作了自己的非常丑陋的显示器,但就是忍不住进一步挖掘。

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

在:jfxtras.labs.scene.control.gauge.GaugeModel的构造函数中有一个私有(private)且不可修改的scale属性:

private ObjectProperty<LinearScale> scale;

它被硬编码为在默认构造函数中初始化为最小值 0 和最大值 100。

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

该构造函数由 Gauge 和 Lcd 使用。

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

以下是我修改上述行以解决我的问题的内容:

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

我从中观察到的唯一下游副作用是,执行此操作后,您需要在构建仪表时设置最小/最大属性,否则径向仪表将变得无用,因为它们的刻度不可读。

我没有看到任何其他问题,但这并不意味着我没有介绍任何问题。因此,您需要自行承担使用风险。

关于java - JFxtas Lcd 仪表最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20806030/

25 4 0
文章推荐: java - Spring MVC : Not able to use use validator, 获取 "Injection of autowired dependencies failed"
文章推荐: java - 从 Jython 中引用 M2Crypto
文章推荐: java - JAX-RS 自动将 List 编码为 JSON