【问题标题】:Vertical alignment of icons with various size in JRadioButtonMenuItemJRadioButtonMenuItem 中各种大小的图标的垂直对齐方式
【发布时间】:2012-08-28 07:52:47
【问题描述】:

我遇到了将不同大小的图标与 JRadioButtonMenuItem 对齐的问题。 这是我的问题的图片。图标有多种尺寸并左对齐。

我想将图标居中,如下图所示。

显然,JRadioButtonMenuItem 类的所有方法都不允许这样做...

【问题讨论】:

    标签: swing icons alignment jradiobutton


    【解决方案1】:

    用最宽图标的宽度计算在图标前后添加多少空白,并使用 setIconTextGap() 方法放置每个图标,这样:

    [(widestIconWidth-iconWidth)/2_ofWhiteSpace][icon][(widestIconWidth-iconWidth)/2_ofWhiteSpace]
    

    【讨论】:

    • 好的,但是如何设置图标的位置呢?我没有看到允许这样做的 JRadioButton 类的任何方法? (其实我用的是 JRadioButtonMenuItem 类)
    • 因为没有办法。只需自己创建一个简单的方法来计算图标前后要添加多少空白。然后使用方法 iconTextGap
    • 事实上该解决方案不起作用。所有元素都略有偏移。单选按钮的布局似乎更复杂。
    • 是的,我现在看到了,它只在图标和文本之间产生间隙,知道单选按钮同时具有它们。上面显示的替代方案确实有效。还有另一种方法 - 创建图标(例如在 Photohsop 中),使所有图标都具有相同的宽度、感兴趣的图形居中且背景设置为 100% 不透明。
    【解决方案2】:

    作为替代方案,使用恒定的封闭尺寸实现Icon 接口并缩放渲染的内容以反映所需的图像尺寸,如example 所示。为方便起见,可以渲染任意大小的unicode glyphs,如图here

    【讨论】:

      猜你喜欢
      • 2012-08-17
      • 2011-04-29
      • 1970-01-01
      • 2017-10-02
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 2011-06-27
      相关资源
      最近更新 更多