Java 图标向左对齐的JLabel

Java 图标向左对齐的JLabel,java,swing,alignment,jlabel,Java,Swing,Alignment,Jlabel,我有一个JLabel,图标和文本与底部对齐,图标位于文本的中心, 如何使文本和图标向左对齐,并使文本在图标下方对齐 我目前的代码如下 label.setIcon(new ImageIcon(fileName)); label.setText("This text is going to be varying size and can be bit long"); label.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER)

我有一个JLabel,图标和文本与底部对齐,图标位于文本的中心, 如何使文本和图标向左对齐,并使文本在图标下方对齐

我目前的代码如下

label.setIcon(new ImageIcon(fileName));
label.setText("This text is going to be varying size and can be bit long");

label.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
label.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);

如果你是说这样的话,那我就作弊了

基本上,我在
JPanel
上创建了两个
JLabel
s。使用
GridBagLayout
I将两个标签对齐,并锚定到
WEST


如果您想重用自定义组件,那么创建自定义组件将非常容易。

您只需设置文本在代码中的位置,而不是图标本身


尝试分离标签中的图标,然后使用设置边界或任何formlayout设置其格式(看起来您有最佳组合:)参见示例。