如何在 Java 中從 JMenu 向 JTabbedPane 中新增新標籤頁?
JTabbedPane
- JTabbedPane 是一個可以擴充套件 JComponent 類的元件,它可以方便地訪問多個面板。
- 每個選項卡都與一個元件相關聯,當選擇該選項卡時,可以顯示該元件。
- 當選擇一個選項卡時, JTabbedPane 可以生成一個 ChangeListener 介面。
- JTabbedPane 的重要方法包括 add()、addTab()、fireStateChanged()、createChangeListener()、setSelectedIndex()、getTabCount() 等。
示例
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JTabbedPaneTest extends JFrame implements ActionListener {
JTabbedPane tabbedPane;
int ntabs = 0;
public JTabbedPaneTest() {
getContentPane().setLayout(new BorderLayout());
tabbedPane = new JTabbedPane();
createTab();
getContentPane().add(BorderLayout.CENTER, tabbedPane);
setJMenuBar(createMenuBar());
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent ce) {
System.out.println("Tab " + (tabbedPane.getSelectedIndex() + 1) + " is selected");
}
});
setTitle("JTabbedPane Test");
setLocationRelativeTo(null);
setSize(new Dimension(350, 275));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
protected JMenuBar createMenuBar() {
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("JTabbedPane");
JMenuItem menuItem = new JMenuItem("Create new tab");
menuItem.addActionListener(this);
menu.add(menuItem);
menuBar.add(menu);
return menuBar;
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Create new tab")) {
createTab();
}
}
protected void createTab() {
ntabs++;
tabbedPane.addTab("Tab #" + ntabs, new JLabel("Tab #" + ntabs));
}
public static void main(String []args) {
new JTabbedPaneTest();
}
}輸出
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP