Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะเพิ่มแท็บใหม่ให้กับ JTabbedPane จาก JMenu ใน Java ได้อย่างไร


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();
   }
}

ผลลัพธ์

เราจะเพิ่มแท็บใหม่ให้กับ JTabbedPane จาก JMenu ใน Java ได้อย่างไร