gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 19:33:48 24 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 正在为您设置标签的位置。

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

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/59240130/

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