示例如下:String str="a";
for(……)
{
My str = new My(); //这一条代码是有错误的
…………
str = str+"a";
}上面注释部分,表明我str是变化的.按上面的要求,要求达到以下目的:每次产生的对象名都不一样;按上面的例子,产生的对象应该是:a,aa,aaa,aaaa……;这些对象都是通过My实例化出来的.有什么办法解决吗?或者换种方式也可以.
for(……)
{
My str = new My(); //这一条代码是有错误的
…………
str = str+"a";
}上面注释部分,表明我str是变化的.按上面的要求,要求达到以下目的:每次产生的对象名都不一样;按上面的例子,产生的对象应该是:a,aa,aaa,aaaa……;这些对象都是通过My实例化出来的.有什么办法解决吗?或者换种方式也可以.
来踩一下呀,
http://bbs.oneedu.cn/bbs
Object o = c.newInstance();
这样得到的o是一个str实例,但是你仍需要知道它的真正类型,来转型使用
我就是想如何才能产生这些对象,如:a,aa,aaa,aaaa……。这些对象名的命名,是按一定规则产生的。
My a = new My();
My aa = new My();
My aaa = new My();
My aaaa = new My();
My aaaaa = new My();
My aaaaaa = new My();
……etc.
但是数量是不定的。
我理解,但是不会。
关键怎么才能把一个String str的值放到My _____ = new My();中
用str的值做为对象名。
Java中有相关的方法?
My a = new My();
My aa = new My();
My aaa = new My();
My aaaa = new My();
My aaaaa = new My();
My aaaaaa = new My();
……etc.
但是数量是不定的。
我理解,但是不会。
关键怎么才能把一个String str的值放到My _____ = new My();中
用str的值做为对象名。
ArrayList menuList1 = menudb.getAllMenuItems(collectionGuid,fguid);
Iterator menuIter1 = menuList1.iterator();
//第一级菜单输出
while(menuIter1.hasNext())
{
hashtable1 = (Hashtable)menuIter1.next();
Enumeration hashenus = hashtable1.keys();
String guids = (String)hashenus.nextElement();
//得到菜单元素名称
String menuName = (String)hashtable1.get(guids);
menuItem_1 = new MenuItem(menu, SWT.CASCADE);
menuItem_1.setText(menuName);
if(menudb.exitsNode(guids))
{
…………………………
}
else
{
//如果该节点是叶子结点,则具有点击事件
if(menudb.isNoteEnd(guids))
{
menuItem_1.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent e)
{
//问题在这里,输出检测出,同级下的菜单名被最后一个菜单所覆盖,很郁闷
System.out.println(menuItem_1.getText());
}
});
}
else
{
//无任何事件
……………………
}
}
}
根本不是你想的那回事 这圈子绕的不熟悉SWT菜单结构
MenuElement[] path = MenuSelectionManager.defaultManager()
.getSelectedPath(); StringBuffer sb = new StringBuffer();
// Retrieve the labels of all the menu elements in the path
for (int i = 0; i < path.length; i++) {
Component c = path[i].getComponent();
if (c instanceof JMenuItem) {
JMenuItem mi = (JMenuItem) c;
String label = mi.getText();
sb.append(label + "|");
}
}
sb.deleteCharAt(sb.length() - 1);
这个sb.toString()就是当前菜单项的名称,结构是比如 File|Exit|...|...
不知道是不是你想要的。