我试图给标签一个位置,但label1.setLocation(27,20)不起作用:
label = new JLabel( "Voer dag in" );
label1 = new JLabel( "Voer dag in" );
我希望他们在彼此之下
整个代码:http://pastebin.com/Gqtcqc9g
由于
答案 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
。例如,您可以尝试GridLayout
或GridBagLayout