我有一个 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/