我想要一个在其上动态添加jcomponents的jframe,并单击一个按钮,我想知道所有可用的组件及其位置(或顺序)。
我正在使用这种方法

Component[] components=getContentPane().getComponents();
            components.toString();


但是我得到的字符串包含有关组件的太多信息,我只需要它们的名称(不必是变量名,它们的类名意味着JLabel lbl;所以我想要JLabel)
及其顺序。

它不知道如何从字符串中提取此信息。

最佳答案

所有组件都有一个getLocation方法,只需获取您的组件数组并在它们上循环...

for (Component comp : getContentPane().getComponents()) {
    System.out.println(comp.getLocation());
}


getLocation方法将返回一个java.awt.Point,其中包含组件的x / y坐标。

请记住,getComponents将仅返回直接容器内的组件,它不会自行进行递归搜索...

07-27 21:05