有一个工程:
1 目录程序 form
2 执行程序1 form11
3 执行程序2 form22
4 执行程序3 form33
5 执行程序4 form44
。
在目录程序中调用执行程序:
// 直接写执行程序名时可以正常运行
例如调用执行程序1
form11 formwork = new form11(null);
if (! formwork .isShowing())
{
formwork .setVisible(true);
}
例如调用执行程序2
form22 formwork = new form22(null);
if (! formwork .isShowing())
{
formwork .setVisible(true);
}
。。
我想把执行程序名称等信息在外部文件管理,调用时用参数形式
String FrameName = workName[i]; //i为1时调用执行程序1。
//Object objName = Class.forName(FrameName).newInstance();
FrameName formwork = new FrameName (null); (这行出现错误,要我定义FrameName名的Class)
if (! formwork .isShowing())
{
formwork .setVisible(true);
}
怎么改正这段代码,希望高手指点一下
1 目录程序 form
2 执行程序1 form11
3 执行程序2 form22
4 执行程序3 form33
5 执行程序4 form44
。
在目录程序中调用执行程序:
// 直接写执行程序名时可以正常运行
例如调用执行程序1
form11 formwork = new form11(null);
if (! formwork .isShowing())
{
formwork .setVisible(true);
}
例如调用执行程序2
form22 formwork = new form22(null);
if (! formwork .isShowing())
{
formwork .setVisible(true);
}
。。
我想把执行程序名称等信息在外部文件管理,调用时用参数形式
String FrameName = workName[i]; //i为1时调用执行程序1。
//Object objName = Class.forName(FrameName).newInstance();
FrameName formwork = new FrameName (null); (这行出现错误,要我定义FrameName名的Class)
if (! formwork .isShowing())
{
formwork .setVisible(true);
}
怎么改正这段代码,希望高手指点一下
解决方案 »
- servlet mysql 用户登录验证问题
- 日企java项目的源码
- 问一下:怎么一直显示是ant version 1.6.2
- HTML 如何转换成 XML
- 在线求助:JSP页面运行时怎么找不到引用的标签库呢?
- 一个java技术网站[http://javalife.cn],欢迎大家来灌
- 求解!关于邮件接收的面试题
- 关于tomcat的严重问题,急!在线等!
- 请问Hibernate能不能在JBuilder上图形化用?谁有讲Hibernate的工具的资料?
- 无状态会话bean(A)调用另一个无状态会话bean(B)问题(两个会话bean在不同容器)?
- 在北京当JAVA工程师的请进!
- ActiveMQ源码解析
workName[i]的内容为{form11,form22,form33,for44,.....}
实现功能:
原来分开写的代码,现在汇总写。
workName[]的内容是执行程序的程序名(String型)
例如{form11,form22,form33......}
2.FrameName formwork = new FrameName (null); (这行出现错误,要我定义FrameName名的Class)
LZ,你这段代码肯定有问题了,因为你在第一段代码的地方将FrameName定义为String类型了
然后第二段代码FrameName又变成了Class对象,所以当然会报这个错误啦
可是怎么如下的定义也不行
Class formwork = Class.forName(workName[i]);
formwork formwork = new formwork(null);//还是要求定义FrameName名的Class if (! formwork.isShowing())
{
formwork.setVisible(true);
}
有知道的朋友请指点一下。
Object[] obj = new Object[]{new form11(null),new form22(null),new form33(null),new form44(null)};
for(int i=0; i<obj.length; i++){
if (! obj[i].isShowing()){
obj[i].setVisible(true);
}
}
不知道上面的代碼可不可行,LZ試試吧!
估計從IF開始可能不行了,因為你所有的都不是一個class類型,所以
即使这么定义可以的话workName[i]就毫无意义了。
如果子程序有上百个怎么办呀?
你自己开始都说这么定义的啊,我只不过是new出一个实例而已,看你自己的需求咯,我没办法了
里面定义的是字符串