我想要一个在其上动态添加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
将仅返回直接容器内的组件,它不会自行进行递归搜索...