Bom fiz um aqui so pra vc ter uma ideia, que voce vai precisar e do
objCombo.addItem("Metal cromado");//ADICIONANDO PRIMEIRO COMBO POSICAO 0
minhaAparencia[0] = "javax.swing.plaf.metal.MetalLookAndFeel";//ALIMENTANDO VETOR POSICAO 0
objCombo.addItem("Windows");//ADICIONANDO PRIMEIRO COMBO POSICAO 1
minhaAparencia[1] = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";//ALIMENTANDO VETOR POSICAO 1
objCombo.addItem("Nimbus");//ADICIONANDO PRIMEIRO COMBO POSICAO 2
minhaAparencia[2] = "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel";//ALIMENTANDO VETOR POSICAO 2
nesse na ordem q o combo ta ele vai setar aquela aparecencia q o cara selecionou
e agora ele vai fazer atualizacao da aparencia baseado no combo que o cara selecionou olha so
minhaAparencia é o Vetor como todas as aparencia e o objCombo.getSelectedIndex() retorna um int em que posicao o do combo esta selecionada então como fiz, o combo na posicao 0 é o metal, na posicao 1 é o windows, e na 3 o nimbus, logo abaixou o codigo completo
try {
UIManager.setLookAndFeel(minhaAparencia[objCombo.getSelectedIndex()]);
} catch (ClassNotFoundException ex) {
System.out.println(ex);
} catch (InstantiationException ex) {
System.out.println(ex);
} catch (IllegalAccessException ex) {
System.out.println(ex);
} catch (UnsupportedLookAndFeelException ex) {
System.out.println(ex);
}
javax.swing.SwingUtilities.updateComponentTreeUI( this ) ;
}
agora a classe completa ja funcionando so lembrando pro nimbus funcionar tem que ter o java update 10
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class teste extends JFrame implements ActionListener{
String[] minhaAparencia = new String [3];
JComboBox objCombo = new JComboBox();
public teste(){
setLocation(50, 50);
setTitle("teste");
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
getContentPane().add(objCombo).setBounds(10, 10, 200, 30);
objCombo.addItem("Metal cromado");
minhaAparencia[0] = "javax.swing.plaf.metal.MetalLookAndFeel";
objCombo.addItem("Windows");
minhaAparencia[1] = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
objCombo.addItem("Nimbus");
minhaAparencia[2] = "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel";
objCombo.addActionListener(this);
}
public static void main(String args[]){
JFrame obj = new teste();
obj.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == objCombo){
try {
UIManager.setLookAndFeel(minhaAparencia[objCombo.getSelectedIndex()]);
} catch (ClassNotFoundException ex) {
System.out.println(ex);
} catch (InstantiationException ex) {
System.out.println(ex);
} catch (IllegalAccessException ex) {
System.out.println(ex);
} catch (UnsupportedLookAndFeelException ex) {
System.out.println(ex);
}
javax.swing.SwingUtilities.updateComponentTreeUI( this ) ;
}
}
}
espero que tenha entendido a logica
vlw