Swing JRadioButtonMenuItem中不同大小图标的垂直对齐

Swing JRadioButtonMenuItem中不同大小图标的垂直对齐,swing,icons,alignment,jradiobutton,Swing,Icons,Alignment,Jradiobutton,我遇到了将不同大小的图标与JRadioButtonMenuItem对齐的问题。 这是我的问题的图片。图标有多种尺寸,并左对齐 我想将图标居中,如下图所示 显然,JRadioButtonMenuItem类的任何方法都不允许这样做…计算具有最宽图标宽度的图标前后要添加多少空白,并使用setIconTextGap()方法放置每个图标,以便: [(widestIconWidth-iconWidth)/2_ofWhiteSpace][icon][(widestIconWidth-iconWidth)/

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

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


显然,JRadioButtonMenuItem类的任何方法都不允许这样做…

计算具有最宽图标宽度的图标前后要添加多少空白,并使用setIconTextGap()方法放置每个图标,以便:

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

计算在具有最宽图标宽度的图标前后添加的空白量,并使用setIconTextGap()方法放置每个图标,以便:

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

另一种方法是,使用恒定的包围大小实现
图标
界面,并缩放渲染内容以反映所需的图像大小,如下图所示。为方便起见,可以渲染任意大小的对象,如图所示


另一种选择是,使用恒定的包围大小实现
图标
界面,并缩放渲染内容以反映所需的图像大小,如图所示。为方便起见,可以渲染任意大小的对象,如图所示


好的,但是如何设置图标的位置?我没有看到JRadioButton类的任何方法允许这样做?(事实上,我使用JRadioButtonMenuItem类)因为没有方法。只需自己创建一个简单的方法来计算图标前后要添加多少空白。然后使用方法iconTextGapIn,说明解决方案不起作用。所有元素都会稍微移动。单选按钮的布局似乎更复杂。是的,我现在明白了,它只在图标和文本之间留出了间隙,因为知道单选按钮两者都有。上面显示的另一种方法确实有效。还有另一种方法-创建图标(例如在Photohsop中),使所有图标具有相同的宽度,以感兴趣的图形为中心,背景设置为100%不透明。好的,但是如何设置图标的位置?我没有看到JRadioButton类的任何方法允许这样做?(事实上,我使用JRadioButtonMenuItem类)因为没有方法。只需自己创建一个简单的方法来计算图标前后要添加多少空白。然后使用方法iconTextGapIn,说明解决方案不起作用。所有元素都会稍微移动。单选按钮的布局似乎更复杂。是的,我现在明白了,它只在图标和文本之间留出了间隙,因为知道单选按钮两者都有。上面显示的另一种方法确实有效。还有另一种方法-创建图标(例如在Photohsop中),使所有图标具有相同的宽度,以感兴趣的图形为中心,背景设置为100%不透明。