如何在 Java 中將多個選項卡插入到單個 JTabbedPane 中?
JTabbedPane
- JTabbedPane 元件可以擴充套件 JComponent 類,且我們只能一次看到一個選項卡。
- 每個選項卡與當選中該選項卡時可以顯示的單個元件關聯。
- 當選中一個選項卡時,JTabbedPane 可以生成一個 ChangeListener 介面。
- 還可以在 單個 JTabbedPane 中插入多個選項卡,且 JTabbedPane 的重要方法有 addTab()、fireStateChanged()、getTabPlacement()、setSelectedIndex()、getTabCount() 等等。
示例
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class NestedJTabbedPaneTest extends JFrame {
public NestedJTabbedPaneTest() {
setTitle("Nested JTabbedPane test");
setLayout(new BorderLayout());
JTabbedPane tabbedPane = new JTabbedPane();
add(BorderLayout.CENTER, tabbedPane);
createNestedTab(tabbedPane, 1);
setSize(375, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLoc*ationRelativeTo(null);
setVisible(true);
}
protected void createNestedTab(JTabbedPane jtp, int count) {
if (count > 5) return;
JTabbedPane tp = new JTabbedPane();
tp.setTabPlacement(getNextOrientation(jtp.getTabPlacement()));
jtp.addTab("Tab #" + count, tp);
createNestedTab(tp, count+1);
}
private int getNextOrientation(int tabPlacement) {
if (tabPlacement == JTabbedPane.TOP) return JTabbedPane.RIGHT;
if (tabPlacement == JTabbedPane.RIGHT) return JTabbedPane.BOTTOM;
if (tabPlacement == JTabbedPane.BOTTOM) return JTabbedPane.LEFT;
else return JTabbedPane.TOP;
}
public static void main(String []args) {
new NestedJTabbedPaneTest();
}
}輸出
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP