做到這將是繼承JPanel
和您的自定義JPanel
添加到標籤面板,而不是最好的辦法:
public class EditorPanel extends JPanel {
private JEditorPane editorPane;
// ...
public EditorPanel() {
// ...
editorPane = new JEditorPane(...);
super.add(editorPane);
// ...
}
// ...
public JEditorPane getEditorPane() {
return editorPane;
}
}
添加一個新的標籤:
JTabbedPane tabbedPane = ... ;
tabbedPane.addTab(name, icon, new EditorPanel());
然後當你需要使用選項卡窗格訪問它:
Component comp = tabbedPane.getComponentAt(i);
if (comp instanceof EditorPanel) {
JEditorPane editorPane = ((EditorPanel) comp).getEditorPane();
}
這是一個bett呃可以選擇維護一個單獨的列表並嘗試將其與標籤窗格的索引一起維護。
將它存儲在一個變量..? – Brian
@brian並不是我想要達到的目標。例如,如果我導航到不同的選項卡,則存儲JEditorPane對象的變量將存儲打開的最新選項卡中的一個,而不是該選項卡僅被導航到的那個變量。不知道這是否有道理。我想要的變量來存儲任何打開或導航到任何選項卡的JEditorPane。基本上任何當前正在顯示的選項卡。 –
將它存儲在列表中? –