Tutorial : Membuat Closeable Tabpane lebih mudah dengan Netbeans Open IDE Lib

Kita berjumpa lagi diruangan blog ini, kali ini saya akan menunjukan cara membuat Closeable Tabpane di Java dengan cara yang lebih mudah dan praktis, yaitu dengan menggunakan Library bawaan Netbeans Open IDE. Namun sebelumnya saya akan memberikan sedikit gambaran mengenai closeable tab ini. Tentunya bagi kalian yang telah terbiasa dengan Browser Mozilla Firefox maupun Google Chrome telah mengenal closeable tab ini. Tab yang akan kita buat kali ini tentunya akan sangat mirip dengan yang ada di kedua Browser tersebut. Nah untuk dapat membuat tab yang seperti itu, ada beberapa lib yang harus kalian punya, jika kalian sudah terbiasa menggunakan Netbeans sebagai IDE, maka kalian tinggal mencari di Folder Instalasi Netbeans. File library atau jar yang akan kita gunakan adalah sebagai berikut :
  1. org-openide-awt.jar
  2. org-openide-util.jar
  3. org-openide-util-lookup.jar

Setelah kalian menemukan ketiga file tersebut, maka langkah selanjutnya adalah menambahkan pada library project yang akan kalian buat. Untuk cara menambahkan library dapat dilihat pada pembahasan saya sebelumnya yaitu Tutorial : Menggambar di JPanel lebih mudah. Untuk screenshoot contoh closeable tab dapat dilihat dibawah ini. 


Kemudian inilah contoh source code yang dapat kalian pelajari, silahkan dilihat dengan seksama.

package org.motekar.latihan.others;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import org.openide.awt.TabbedPaneFactory;

/**
 *
 * @author Muhamad Wibawa
 */
public class CloseableTabExample extends JFrame implements ActionListener{
    
    private JTabbedPane mainTabPane;
    private JButton btAdd = new JButton("Tambah Tab");
    
    public CloseableTabExample() {
        construct();
    }
    
    private void construct() {
        createCloseableTab();
        
        btAdd.addActionListener(this);
        
        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
        buttonPanel.add(btAdd,null);
        
        this.setTitle("Closeable TabPane Example");
        this.setPreferredSize(new Dimension(500, 500));
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        
        this.getContentPane().setLayout(new BorderLayout());
        this.getContentPane().add(buttonPanel, BorderLayout.NORTH);
        this.getContentPane().add(mainTabPane, BorderLayout.CENTER);
        
        addTab("Closeable Tab "+(mainTabPane.getTabCount() + 1), new JPanel());
    }
    
    private void createCloseableTab() {
        mainTabPane = new JTabbedPane();
        mainTabPane = TabbedPaneFactory.createCloseButtonTabbedPane();
        mainTabPane.setFocusCycleRoot(false);
        mainTabPane.addPropertyChangeListener(TabbedPaneFactory.PROP_CLOSE, new PropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent evt) {
                JTabbedPane pane = (JTabbedPane) evt.getSource();
                JComponent c = (JComponent) evt.getNewValue();
                pane.remove(c);
            }
        });
    }
    
    private void addTab(String title, Component comp) {
        mainTabPane.addTab(title, comp);
        mainTabPane.setSelectedIndex(mainTabPane.getTabCount() - 1);
    }
    
    public void actionPerformed(ActionEvent e) {
        addTab("Closeable Tab "+(mainTabPane.getTabCount() + 1), new JPanel());
    }
    
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                JFrame test = new CloseableTabExample();
                test.pack();
                test.setLocationRelativeTo(null);
                test.setVisible(true);
            }
        });
    }
    
}

Saya cukupkan sekian tutorial untuk saat ini, selamat mencoba dan semoga bermanfaat. Lain waktu saya akan memberikan tutorial yang lebih menarik. Jangan lupa untuk memberikan komentar karena pembaca yang baik selalu memberikan komentar walaupun berupa kritik yang sangat pedas. Terima kasih telah menyimak tutorial singkat ini dan sampai jumpa dilain kesempatan.




Wassalam,
Muhamad Wibawa

Tablet Android Honeycomb Terbaik Murah

Ultrabook Notebook Tipis Harga Murah Terbaik