import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.InvocationTargetException;

public class Bug4167394 {
    public static void main(String []args) throws InterruptedException, InvocationTargetException {


        JPanel panel = new JPanel();
        JComboBox comboBox = new JComboBox( new Object[] {
                "Coma Berenices",
                "Triangulum",
                "Camelopardis",
                "Cassiopea"} );
        JFrame []frame = new JFrame[1];
        final JButton fontButton = new JButton( "Toggle Size" );
        SwingUtilities.invokeAndWait(new Runnable() {
            @Override
            public void run() {
                frame[0] = new JFrame("bug4167394");
                JPanel panel1 = new JPanel();
                comboBox.setEditable( true );
                ActionListener actionListener = new ActionListener() {
                    public void actionPerformed( ActionEvent e ) {
                        final Font font = UIManager.getLookAndFeelDefaults().getFont( "ComboBox.font" );

                        if ( comboBox.getFont().equals( font ) ) {
                            comboBox.setFont( new Font( font.getName(), font.getStyle(), 18 ) );
                        }
                        else {
                            comboBox.setFont( font );
                        }
                    }
                };
                fontButton.addActionListener( actionListener );
                panel.add( comboBox );
                panel.add( fontButton );
                frame[0].getContentPane().add( panel );
                frame[0].setSize(200,200);
                frame[0].setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame[0].setVisible(true);
            }
        });

    }
}

