既然是if(tagtab==2),那么应该是Test2
Test1 t1=(Test1)tabbed.getComponentAt(0);//运行时,这里报错
-->
Test2 t2=(Test2)tabbed.getComponentAt(0);
Test1 t1=(Test1)tabbed.getComponentAt(0);//运行时,这里报错
-->
Test2 t2=(Test2)tabbed.getComponentAt(0);
解决方案 »
- itext的使用问题
- myeclipes 的问题
- java调用可执行程序的问题
- window.open打开一个页面后我怎么控制新开的那个HTM屏蔽所有案件动作
- 请教各位 有关RandomAccessFile类的问题
- 在类里创建一个Socket连接后,为什么不能在不同方法中使用其getOutputStream()和getInputStream()???
- 多线程 加法
- 菜鸟提问关于动态创建控件的问题
- !~~~~~~~~~~~推荐一下,大家都是在哪找的例子哪?
- 如何用COM实现把一个文件从CLIENT端传送到SERVER端,保存在SERVER本地。
- 怎样用程序修改jar中的配置文件?
- 关于Style Report报表工具
Test1 t1=(Test1)tabbed.getComponentAt(1);//改成1,2都还是报错啊
if(tagtab==2)
-->
if(tagtab==1)
而且我是想点击Test3时,激活事件,获得此时Test1,Test2里相应得变量值
{
Test1 t1=(Test1)tabbed.getComponentAt(0);//运行时,这里报错
int aa=tabbed.getComponentCount();
System.out.println("aa "+t1.aaaa);//Test1里有变量public int aaaa=3;
}
-->
if(tagtab==2)
{
Test1 t1=null;
for(int i=0;i<tabbed.getComponentCount();i++) {
if(tabbed.getComponentAt(i) instanceof Test1) {//判断是否Test1的实例
t1=(Test1)tabbed.getComponentAt(0);
break;
}
}
int aa=tabbed.getComponentCount();
System.out.println("aa "+t1.aaaa);//Test1里有变量public int aaaa=3;
}
还是在初始化时用final啊,两个我都试了,还是一样报错
java.lang.ClassCastException
at javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:287) at javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:219) at javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:116) at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:50) at javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:468) at javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:461) at javax.swing.plaf.basic.BasicTabbedPaneUI$MouseHandler.mousePressed(BasicTabbedPaneUI.java:3051)
t1=(Test1)tabbed.getComponentAt(0);
-->
t1=(Test1)tabbed.getComponentAt(i);