JTabbedPane
- A JTabbedPane เป็นส่วนประกอบที่สามารถขยาย JComponent และสามารถเข้าถึงแผงควบคุมได้มากกว่าหนึ่งแผง
- แต่ละแท็บเชื่อมโยงกับองค์ประกอบเดียวที่สามารถแสดงได้เมื่อเลือกแท็บ
- A 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(); } }
ผลลัพธ์