Problemas con Look&Feel
Publicado por iGNASI8 (23 intervenciones) el 09/10/2006 23:22:34
Buenas, mi problema es que en mi GUI, tengo las opciones de cargar dos Look&Feel o apariencias para el interfaz gráfico. el Código es sencillo.
El problema lo tengo cuando repinto el GUI o actualizo la nueva apariencia, pues el GUI funciona a partir de este momento fatal.
Inicio GUI con este Look&Feel:
UIManager.setLookAndFeel("com.nilo.plaf.nimrod.NimRODLookAndFeel");
Luego creo las opciones de selcción para el GUI q incluyo en un JPanel así:
defsys = new JCheckBox("Default look&feel");
defsys.setMnemonic('D');
defsys.setSelected(false);
nimrod = new JCheckBox("NimRod look&feel");
nimrod.setMnemonic('N');
nimrod.setSelected(false);
CheckBoxListener myListener = new CheckBoxListener();
defsys.addItemListener(myListener);
nimrod.addItemListener(myListener);
... trato los eventos:
public class CheckBoxListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
Object source = e.getItemSelectable();
if (source == defsys) {
nimrod.setSelected(false);
try
{
Thread look = new DefaultLookandFeel(gui);
look.start();
}
catch (Exception x)
{
JOptionPane.showMessageDialog(new JFrame(), x.getMessage(),"Error loading Look and Feel!", JOptionPane.ERROR_MESSAGE);
}
} else if (source == nimrod) {
defsys.setSelected(false);
try
{
Thread look = new NimRod(gui);
look.start();
}
catch (Exception x)
{
JOptionPane.showMessageDialog(new JFrame(), x.getMessage(),"Error loading Look and Feel!", JOptionPane.ERROR_MESSAGE);
}
}
}
Y las clases Default y NimRod son dos Threads que lo qhe hacen es establecer el look and Feel de turno así:
UIManager.setLookAndFeel("com.nilo.plaf.nimrod.NimRODLookAndFeel");
gui.repaintAll();
Donde gui es el contenedor principal y la función repaintAll contiene:
public void repaintAll() {
//tabbedPane.repaint();
tabbedPane.updateUI();
}
Qué problema hay en el código, porque no me genera bién los cambios o me entorpece la GUI?¿
Gracias
El problema lo tengo cuando repinto el GUI o actualizo la nueva apariencia, pues el GUI funciona a partir de este momento fatal.
Inicio GUI con este Look&Feel:
UIManager.setLookAndFeel("com.nilo.plaf.nimrod.NimRODLookAndFeel");
Luego creo las opciones de selcción para el GUI q incluyo en un JPanel así:
defsys = new JCheckBox("Default look&feel");
defsys.setMnemonic('D');
defsys.setSelected(false);
nimrod = new JCheckBox("NimRod look&feel");
nimrod.setMnemonic('N');
nimrod.setSelected(false);
CheckBoxListener myListener = new CheckBoxListener();
defsys.addItemListener(myListener);
nimrod.addItemListener(myListener);
... trato los eventos:
public class CheckBoxListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
Object source = e.getItemSelectable();
if (source == defsys) {
nimrod.setSelected(false);
try
{
Thread look = new DefaultLookandFeel(gui);
look.start();
}
catch (Exception x)
{
JOptionPane.showMessageDialog(new JFrame(), x.getMessage(),"Error loading Look and Feel!", JOptionPane.ERROR_MESSAGE);
}
} else if (source == nimrod) {
defsys.setSelected(false);
try
{
Thread look = new NimRod(gui);
look.start();
}
catch (Exception x)
{
JOptionPane.showMessageDialog(new JFrame(), x.getMessage(),"Error loading Look and Feel!", JOptionPane.ERROR_MESSAGE);
}
}
}
Y las clases Default y NimRod son dos Threads que lo qhe hacen es establecer el look and Feel de turno así:
UIManager.setLookAndFeel("com.nilo.plaf.nimrod.NimRODLookAndFeel");
gui.repaintAll();
Donde gui es el contenedor principal y la función repaintAll contiene:
public void repaintAll() {
//tabbedPane.repaint();
tabbedPane.updateUI();
}
Qué problema hay en el código, porque no me genera bién los cambios o me entorpece la GUI?¿
Gracias
Valora esta pregunta


0