如何从swt页面内的单个复合中获取特定的控件类型(例如所有按钮)?
此致 嗯...
答案 0 :(得分:2)
您可以使用getComponents并使用如here所示的instanceOf关键字。
Component[] components = this.getComponents();
List<Component> buttons = new ArrayList<Component>();
for (Component component : components)
{
if (component instanceof JButton)
{
buttons.add(component);
}
}
答案 1 :(得分:0)
在构建时将它们添加到集合中,或者在顶级容器上使用getComponents来获取UI中的所有组件。然后提供像getAllButtons()
这样的访问器方法,为方便起见,它们按类型提供一个控件集合的引用。
根据您的需要,您可能会遇到以下方法列表
getAllButtons() // returns an array, LinkedList, or other collection of all Buttons
addButton(Button) // adds a specific, new Button to the global list of Buttons
removeButton(Button) // removes a specific, existing Button from the global list
removeAllButtons() // clears the global list of Buttons
重复您需要支持的任何组件/控件类型。