gpt4 book ai didi

java - 为什么 setLocation() 不移动我的标签?

转载 作者:搜寻专家 更新时间:2023-10-30 21:17:53 26 4
gpt4 key购买 nike

我有以下代码,我尝试将 JLabel 放在 JFrame 上的自定义位置。

public class GUI extends JFrame 
{

/**
*
* @param args
*/
public static void main(String args[])
{
new GUI();
}
/**
*
*/
public GUI()
{
JLabel addLbl = new JLabel("Add: ");
add(addLbl);
addLbl.setLocation(200, 300);
this.setSize(400, 400);

// pack();
setVisible(true);
}
}

它似乎没有移动到我想要的位置。

最佳答案

问题是面板的 LayoutManager 正在为您设置标签的位置。

您需要做的是将布局设置为空:

public GUI() {
setLayout(null);
}

这将使框架不会尝试自行布局组件。

然后调用setBounds(Rectangle)在标签上。像这样:

addLbl.setBounds(new Rectangle(new Point(200, 300), addLbl.getPreferredSize()));

这应该将组件放在您想要的位置。

但是,如果您没有很好的理由自己布置组件,通常最好使用 LayoutManagers 来为您工作.

Here是开始使用 LayoutManager 的很棒的教程。

如果您必须没有 LayoutManager here是没有人的好教程。

关于java - 为什么 setLocation() 不移动我的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3695673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com