java - 将 JLabel 放置在指定位置并给出其坐标

标签 java swing jpanel jlabel keylistener

我有一个 JPanel,其中我需要在所需的坐标处添加一堆 JLabel。这些 JLabel 将分配有关键监听器,这些监听器将使用箭头键确定新位置。

更具体地说,当只有一个 JLabel 时,我知道该怎么做,但每当我放置更多个 JLabel 时,事情就会变得一团糟。当我使用箭头键时,第一个 JLabel 移动,但所有其他 JLabel 消失。

任何人都可以给我一些提示,让我编写一种方法,将 JLabel 放在特定坐标中,并稍后使用箭头键移动它们,而不会使其他 JLabel 消失吗?

非常感谢

最佳答案

您可以尝试使用 JDesktopPane 或 JLayeredPane,它的工作方式与 JPanel 相同,但您不会使用布局,而您将使用 Bounds,您始终必须像这样设置 jlabel 的边界。

JLabel label = new JLabel("Hello");
label.setBounds(0, 0, 100, 20);
//label.setBounds(x, y, width, height);
pane.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 );

关于java - 将 JLabel 放置在指定位置并给出其坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10593840/

相关文章:

java - 服务器没有收到来自客户端的更多消息

java - 追加一个文件,而不是覆盖它?

java - 如何在每次调用 doReturn 时返回一个新实例?

java - 如何处理不同的屏幕尺寸

java - JButton 文本未更改

java - 根据输入的总数增加数组大小

java - 如何在 JPanel 对象上调用 getWidth

java - 如何从 RepaintManager 生成异常

Java turtle 图形用户输入

java - 元素与 GridBagConstraints 不正确对齐