我在我的一个Java GUI代码中使用了JTabbedPane
。我使用下面的代码部分来实例化和维护tabpane
。JTabbedPane组件访问
JTabbedPane tabpane = new JTabbedPane();
PageViewer pv = new PageViewer();
tabpane.addTab("tabttitle", new JScrollPane(pv));
PageViewer
是扩展类的JEditorPane
。我想要访问和修改当前选定的选项卡的组成部分PageViewer pv
。我尝试了以下几行代码,其值为ind
。
JScrollPane jsp = (JScrollPane) tabpane.getComponentAt(tabpane.getSelectedIndex());
PageViewer pv2 = (PageViewer) jsp.getComponent(ind);
但ind==0
编译器说:"java.lang.ClassCastException: javax.swing.JViewport cannot be cast to menu_window.PageViewer"
。
对于ind==1
它说"java.lang.ClassCastException: javax.swing.JScrollPane$ScrollBar cannot be cast to menu_window.PageViewer"
。对于ind==2
输出是"java.lang.ClassCastException: javax.swing.JScrollPane$ScrollBar cannot be cast to menu_window.PageViewer"
。
而对于ind>=3
错误是"java.lang.ArrayIndexOutOfBoundsException: No such child: 3"
。
现在我该如何做所需的工作,如果有人知道请帮忙。
注意:我使用NetBeans 6.8和Java 6 Standard Edition。
是的!你是对的。它现在有效。谢谢。 – 2011-02-13 16:49:54