Java 找到复合材料的最佳方法是什么?
我有一个SWT应用程序(Shell),有几个组合: 一个菜单栏在一个组合中,我还有一个包含各种元素的第二个组合 从菜单栏的ActionListener中,我想访问第二个组合的元素之一 目前,我通过这样做找到了我的复合材料。有更好/更简单的方法吗Java 找到复合材料的最佳方法是什么?,java,swt,composite,Java,Swt,Composite,我有一个SWT应用程序(Shell),有几个组合: 一个菜单栏在一个组合中,我还有一个包含各种元素的第二个组合 从菜单栏的ActionListener中,我想访问第二个组合的元素之一 目前,我通过这样做找到了我的复合材料。有更好/更简单的方法吗 Control[] appComposites; appComposites = parent.getChildren(); Composite remoteFile; for(int i=0; i<appComposites.length;i++
Control[] appComposites;
appComposites = parent.getChildren();
Composite remoteFile;
for(int i=0; i<appComposites.length;i++){
if(appComposites[i].toString().compareTo("RemoteFile {}") == 0){
remoteFile = (Composite) appComposites[i];
}
}
//Now I must make another loop inside remoteFile to find the element that I need ...
Control[]appComposites;
appComposites=parent.getChildren();
复合远程文件;
对于(int i=0;i您可以使用方法Widget#setData(Object)
向Widget
s添加标识信息
以下是一个例子:
public static void main(String[] args)
{
Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new GridLayout(2, true));
Listener listener = new Listener()
{
@Override
public void handleEvent(Event arg0)
{
Widget widget = arg0.widget;
System.out.println(widget.getData().equals("Button 1");
}
};
for(int i = 0; i < 10; i++)
{
Button button = new Button(shell, SWT.PUSH);
button.setText("Button " + i);
button.setData("Button " + i);
button.addListener(SWT.Selection, listener);
}
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
你解决问题了吗?
widget.getData().equals("YOUR IDENTIFIER");