如何在Java中给出标签位置?

时间:2014-02-10 11:23:15

标签: java jlabel

我试图给标签一个位置,但label1.setLocation(27,20)不起作用:

label = new JLabel( "Voer dag in" );
label1 = new JLabel( "Voer dag in" );

我希望他们在彼此之下

整个代码:http://pastebin.com/Gqtcqc9g

由于

3 个答案:

答案 0 :(得分:0)

最佳做法是使用布局管理器 http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html 每个容器组件通常都有默认的布局管理器 如果您真的需要绝对布局,可以将其设置为null。 Component.setLayoutManager(空)

在你的情况下,你需要设置GrigLayout(简单的一个)或GridBagLayout(更灵活)

答案 1 :(得分:0)

试试这个:

label = new JLabel( "Voer dag in" );

label.setBounds(0, 0, 100, 20);

//label.setBounds(x, y, width, height);

panel.add(label)

要轻松移动它们,您也可以使用它:

int xx = label.getBounds().getX();
int yy = label.getBounds().getY();
int ww = label.getBounds().getWidth();
int hh = label.getBounds().getHeight();

//to the right 10 units
xx+=10;
label.setBounds( xx, yy, ww, hh );

//that would be label.setBounds(xx+10,yy,ww,hh);

希望这会有所帮助;)

答案 2 :(得分:0)

您使用JPanel来显示默认为FlowLayout的组件,因为您无法在setLocation()FlowLayout lyout组件的帮助下定位组件一排一排。

对于定位组件,您需要使用不同的LayoutManager。例如,您可以尝试GridLayoutGridBagLayout