JComboBoxDemo.java Source code

Java tutorial

Introduction

Here is the source code for JComboBoxDemo.java

Source

import java.awt.Component;
import java.awt.ComponentOrientation;
import java.awt.Container;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JMenu;

public class JComboBoxDemo extends JFrame {

    public JComboBoxDemo() {
        JComboBox itemsComboBox = new JComboBox(new String[] { "A", "L", "M" });
        itemsComboBox.setEditable(true);
        itemsComboBox.setMaximumRowCount(3);
        this.getContentPane().add(itemsComboBox);
        itemsComboBox.setVisible(true);
        applyOrientation(this, ComponentOrientation.RIGHT_TO_LEFT);
        this.validate();
        this.repaint();
    }

    public static void main(String[] args) {
        JFrame frame = new JComboBoxDemo();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.pack();
        frame.setVisible(true);
    }

    private void applyOrientation(Component c, ComponentOrientation o) {
        c.setComponentOrientation(o);

        if (c instanceof JMenu) {
            JMenu menu = (JMenu) c;
            int ncomponents = menu.getMenuComponentCount();
            for (int i = 0; i < ncomponents; ++i) {
                applyOrientation(menu.getMenuComponent(i), o);
            }
        } else if (c instanceof Container) {
            Container container = (Container) c;
            int ncomponents = container.getComponentCount();
            for (int i = 0; i < ncomponents; ++i) {
                applyOrientation(container.getComponent(i), o);
            }
        }
    }
}