【问题标题】:How to vertically align two JSlider objects independent of tick labels如何垂直对齐两个独立于刻度标签的 JSlider 对象
【发布时间】:2017-10-02 09:08:39
【问题描述】:

我在我的 Java 应用程序中使用了几个水平放置的 JSlider 对象,并希望将它们的左右轨道末端垂直对齐。这意味着每当两个旋钮位于其轨道的左端时,上方的旋钮应该正好在下方的上方,而不会在水平方向上发生任何位移。

我目前遇到的问题是轨道左端或右端刻度上的长标签会减少轨道的长度,并且不允许很好的对齐。例如,请看下图:

JSlider alignment problem example

有谁知道如何垂直对齐两个水平放置的 JSlider 对象的轨道,而与它们的刻度标签无关

我的问题的解决方案可能是在轨道末端左对齐/右对齐标签(即最左侧刻度上的标签与其刻度左对齐),但我不知道如何我可以那样做。也许还有一个我没有想到的更好的解决方案。

谢谢,桑德尔

【问题讨论】:

    标签: java vertical-alignment jslider


    【解决方案1】:

    我不认为 JSlider 标签可以通过编辑位置的方式访问,因此您应该创建单独的标签并定位自己相对于 JSlider 的位置,然后您可以确定它们不会影响JSlider(取决于您的布局管理器)。

    【讨论】:

    • 好点!从来没有想过...我会尝试并给你一些反馈,如果这样做是否容易。
    • 是的,效果很好,谢谢!我将 slider.setPaintLabels 设置为 false 并将标签添加到所需位置。我认为 GroupLayout 是一个方便定位的好选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    相关资源
    最近更新 更多