Я использую JTabbedPane
в одном из своих кодов графического интерфейса Java. Я использую следующую часть кода для создания и поддержки файла tabpane
.
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.