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

如何使用除法将JLabel绑定到JSlider?

锺离森
2023-03-14

我需要做一个滑块,允许用户输入0和1之间的数字在0.1步。由于JSlider只允许整数值,我给了它一个从0到10的范围,并将一个JLabel绑定到Slider的值。但我希望标签显示十进制数字(值/10.0)。我怎么能那样做?我正在使用Netbeans 7.4 GUI编辑器。当我尝试将绑定表达式编辑为${value}/10时,它只是将其附加为字符串。converter中的组件选择器窗口只显示“不支持此属性的自定义编辑”。谢谢

共有1个答案

百里涛
2023-03-14

如果您想使用BeansBinding:在BeansBinding库中实现的EL语言不支持大多数特性,包括基元计算。您必须实现自定义org.jdesktop.beansbinding.converter,然后使用“自定义代码”选项添加它:在“转换器添加”面板中,在“转换器属性”组合框中选择“自定义代码”,然后在“属性代码”文本字段中实例化您的转换器。

此外,请考虑编写您自己的ChangeListener,并将其附加到JSpinner,该JSpinner将在每次旋转器值更改时更新标签的文本。在我看来,这要简单得多。:-)

 类似资料:
  • 我使用netbean创建了一个jframe,并向该jframe添加了一个jlabel(changeLbl)。之后,我向该JFrame添加了一个jbutton。现在,我需要创建一个新的jlabel并在单击JButton时将其分配给该jlabel(changeLbl)。所以我编写了类似bellow的代码,但它没有更改jlabel文本。我不明白为什么?正如我所知,当单击按钮时,changeLbl应该被引

  • 问题内容: 我有一个JList和ArrayList。如何将arraylist中的数据绑定到jlist.Ares有替代方法吗? 如何绑定以上代码。现在代码给出错误。 问题答案: 您无需克隆ArrayList。只需调用toArray()

  • 问题内容: 我目前正在使用 属性启动Java VM,以便可以通过JConsole连接到Java VM 进行管理和监视。不幸的是,它监听计算机上的所有接口(IP地址)。 在我们的环境中,通常情况下,一台机器上同时运行多个Java VM。尽管可以告诉JMX侦听不同的TCP端口(使用),但是最好让JMX使用标准的JMX端口并仅绑定到特定的IP地址(而不是所有IP地址)。 这将使查找通过JConsole连

  • 我得到了错误 在我的build.gradle文件中,我有以下一行包含jar log4j-SLF4j-impl-2.0-beta8.jar(我想将其绑定到LOG4J2)

  • 问题内容: 我正在使用+,并且在特殊情况下,由于查询,我需要获取(列表)非对象。 我决定使用in,并在其中引用此映射,如此处和此处所述。 但是,在所有使用命名本机查询的示例中,它们都通过获取实例并对其进行调用,从而为该调用提供of 参数,如该答案所示。 如何将存储库中声明的方法映射到特定对象?我的尝试是使用或作为的,但没有运气。 这是我的简化代码: 这是我的非班级。 任何帮助都将受到高度赞赏。 编

  • 我使用的是Spring,我有一个特殊情况,需要通过查询获得非实体对象的列表。 我决定在SQLResultsMapping中使用ConstructorResult,并参考这里和这里提到的NamedNativeRequesty中的映射。 然而,在所有使用命名本机查询的示例中,它们通过PersistenceContext获取EntityManager实例,并在其上调用createNativeQuery,