gpt4 book ai didi

Java swing GUI绝对定位

转载 作者:行者123 更新时间:2023-12-02 13:22:53 26 4
gpt4 key购买 nike

我知道不建议绝对定位,但我需要显示随机分散的标签以及随机改变其位置的标签。我研究了如何使用 setBounds 但它似乎不起作用。以下代码显示了流布局中的标签,当我使用 setLayout(null) 时,它显示一个空白框架。

public class GUI extends JFrame{

device mobiles[];
device station;
JPanel pane= new JPanel();
public GUI()
{
setTitle("communication is Key");
setSize(1000, 1000);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pane.setBackground(Color.WHITE);
int x=0; int y=0;
mobiles= new device[10];
for (int i = 0; i < 10; i++) {
x=randInt();
y=randInt();
mobiles[i]= new device(1,x,y);
pane.add(mobiles[i]);

}
x=randInt();
y=randInt();
station = new device(0,x,y);
pane.add(station);

this.add(pane);
}

这是扩展 JLabel 的“设备”类

public class device extends JLabel{
ImageIcon mob = new ImageIcon("mob.png");
ImageIcon tow = new ImageIcon("tower.png");

public device(int num, int x, int y)
{ if(num==1)
this.setIcon(mob);
else this.setIcon(tow);

this.setBounds(x, y, 3, 7);
}

}

如果能帮助找出问题所在,我们将不胜感激。

最佳答案

The following code shows the labels in a Flow Layout, and when I use setLayout(null) it shows a blank frame.

布局管理器设置组件的大小和位置。

如果您不使用布局管理器,则您负责设置每个组件的大小位置

通常我会将大小设置为等于组件首选大小

另外,你是否显示了随机生成的x/y值?也许这些值大于面板的尺寸。

and when I use setLayout(null) it shows a blank frame.

什么布局设置为空?框架的面板。您的代码没有使用上述方法。发布您用来引起问题的代码。我们不想猜测您可能会做什么或不会做什么。

关于Java swing GUI绝对定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43505643/

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