我在我的一個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