Add Custom Components to JFileChooser

Let me show you how to add custom components to JFileChooser in Swing. This is very easy and even you have a method for that. In this post, i will be showing you how to use that method to use your own components and enjoy! Here we go!

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class CustomJFileChooser extends JFrame
private JButton jb;
private JFileChooser jf;
private JPanel jp;
private JLabel jl;

 public CustomJFileChooser()
 private void createAndShowGUI()
 // Set frame properties
 setTitle("Custom JFileChooser");
 setLayout(new FlowLayout());
 // Create JButton
 jb=new JButton("Open JFileChooser");
 // Add ActionListener to JButton
 jb.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent ae)
  // Create JFileChooser
  jf=new JFileChooser();

  // Create JPanel
  jp=new JPanel();
  // Create JLabel
  jl=new JLabel("I am a label on custom JFileChooser");
  // Add JLabel to the JPanel

  // This is that method, do it before showOpenDialog!
  // Show Open Dialog
 // Add JButton to the JFrame
 public static void main(String args[])
 new CustomJFileChooser();

Output of the CustomJFileChooser

Adding Custom Components to JFileChooser
Custom JFileChooser Screenshot

This is not a hack, it is just a feature provided. This is the way you can add your own custom components to JFileChooser. You don't actually need the JPanel, I just added it, you can directly add JLabel to it. But in order to have a layout of the components we added i added JPanel. Good to know if we can add components in a certain layout to the JFileChooser without JPanel and without disturbing the layout of the JFileChooser's by-birth components.

Posted by at on

Tags: Swing Components,