如何在JLabel,Java中使用变量作为对齐的输入

时间:2016-10-15 07:57:25

标签: java jlabel

我想知道如何通过JLabel对齐参数传递变量。例如:

String myString = "CENTER";
JLabel label = new JLabel("text", JLabel.myString);

2 个答案:

答案 0 :(得分:0)

检查javax.swing.SwingConstants here和的文档 以下是LEFT,RIGHT,CENTER

的相应值
public static final int LEFT    = 2;
public static final int RIGHT   = 4;
public static final int CENTER  = 0;

您可以将输入作为整数或使用if if的switch case将字符串输入转换为这些数字,并将第二个参数传递给JLabel构造函数JLabel(String text, int horizontalAlignment)

答案 1 :(得分:0)

你可以写一个像这样的转换器mathod:

int getAlignmentFromString(String str){
        switch (str){
            case "CENTER":
                return SwingConstants.CENTER;
            case "LEFT":
                return SwingConstants.LEFT;
            case "RIGHT":
                return SwingConstants.RIGHT;
            case "LEADING":
                return SwingConstants.LEADING;
            case "TRAILING":
                return SwingConstants.TRAILING;
            default:
                throw new IllegalArgumentException();
        }
    }

您可以使用此方法来设置正确的对齐值,如下所示:

JLabel label = new JLabel("text", getAlignmentFromString(myString));