L'eccezione che viene sollevata è la seguente:
codice:
Exception occurred during event dispatching:
java.lang.NullPointerException
at javax.swing.plaf.basic.BasicComboBoxUI.selectNextPossibleValue(BasicComboBoxUI.java:1030)
at com.sun.java.swing.plaf.windows.WindowsComboBoxUI.selectNextPossibleValue(WindowsComboBoxUI.java:73)
at javax.swing.plaf.basic.BasicComboBoxUI$DownAction.actionPerformed(BasicComboBoxUI.java:1349)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1384)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2078)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2115)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2041)
at javax.swing.JComboBox.processKeyEvent(JComboBox.java:1060)
at java.awt.Component.processEvent(Component.java:3553)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.processKeyEvent(Container.java:2155)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2135)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:926)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85):
Mentre il codice del programma (molto sminuito) è il seguente
codice:
private JComboBox combo = new JComboBox ();
...
...
combo.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
combo_actionPerformed (e);
}
});
...
...
private void combo_actionPerformed (ActionEvent e)
{
switch (combo.getSelectedIndex ())
{
case 0: label.setText ("Scegliere opzione");
break;
case 1: label.setText ("Item_1");
break;
case 2: label.setText ("Item_2");
break;
}
style ();
}
...
...
private void style ()
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);
}
catch (Exception ex)
{
System.err.println("Impossibile impostare il LookAndFeel del sistema");
}
}
il problema ho trovato che sta nel metodo style() infatti se commento il suo corpo il programma non solleva eccezioni, però io volevo utilizzare lo stile Windows e non quello Java. come devo fare?
Beh ora non penso che non sia stato esaustivo!