我刚刚开始在java中制作框架并编写了以下代码:
import javax.swing.*;
public class HelloWorldFrame extends JFrame
{
public static void main(String[] args)
{
new HelloWorldFrame();
}
HelloWorldFrame()
{
JLabel jlb=new JLabel("HelloWorld");
add(jlb);
this.setSize(100,100);
setVisible(true);
}
}
任何人都可以帮忙解释如何在上面的代码中更改标签的位置
答案 0 :(得分:2)
通常(阅读推荐)通过使用Layout Managers实现您的目标。如果这对您不起作用,则需要使用setLocation(int x, int y)
并将其与this.setLayoutManager(null)
(或类似内容)结合使用。这将删除默认布局管理器,并让您完全控制放置对象的位置/方式。
答案 1 :(得分:1)
通过使用两个真正处理的方法来更改JLabel实例的位置相当容易。请在下面查看要使用的代码:
HelloWorldFrame()
{
JLabel jlb=new JLabel("HelloWorld");
jlb.setHorizontalAlignment(50); // set the horizontal alignement on the x axis !
jlb.setVerticalAlignment(50); // set the verticalalignement on the y axis !
add(jlb);
this.setSize(100,100);
setVisible(true);
}
您可以在此处详细了解JLabel及其操作方法:http://docs.oracle.com/javase/7/docs/api/javax/swing/JLabel.html
// <强> EDITS 强>
根据我之前给出的评论,所给出的结果无效。所以我做了必要的改变让它们起作用!
HelloWorldFrame()
{
JLabel jlb=new JLabel("HelloWorld");
jlb.setHorizontalAlignment(SwingConstants.CENTER); // set the horizontal alignement on the x axis !
jlb.setVerticalAlignment(SwingConstants.CENTER); // set the verticalalignement on the y axis !
add(jlb);
this.setSize(100,100);
setVisible(true);
}