Al establecer la orientación de un componente JCombobox de la siguiente manera:
JComboBox comboBox = new JComboBox();
comboBox.setComponentOrientation(ComponentOrientation.RIGTH_TO_LEFT);
Resulta que los el botón de despliegue del menú ahora se situa a su izquierda, pero la alineación de los items va a su derecha, por lo que a mi opinión personal resulta un tanto molesto, despues de tanto buscar y no encontrar nada en Internet he decidido hacerlo de la única forma que se me ocurrió, la cual es implementando un ListCellRenderer de la siguiente forma:
JComboBox comboBox = new JComboBox();
comboBox.setComponentOrientation(ComponentOrientation.RIGTH_TO_LEFT);
comboBox.setRenderer(new BasicComboBoxRenderer(){
public Component getListCellRendererComponent(JList list,
Object value, int index, boolean isSelected,
boolean cellHasFocus) {
ComponentOrientation listCO = list.getComponentOrientation();
ComponentOrientation lTRCO = ComponentOrientation.LEFT_TO_RIGHT;
if(!listCO.equals(lTRCO))
list.setComponentOrientation(lTRCO);
return super.getListCellRendererComponent(list, value, index, isSelected,
cellHasFocus);
}
});
Claro que también se puede implementar como una clase interna o externa, no solamente como una clase anonima.