IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

updateComponentTreeUI et illegalStateException


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2007
    Messages : 94
    Par défaut updateComponentTreeUI et illegalStateException
    Bonjour,

    pour mon application j'ai créer un menu avec différents look&feel : ceux par defaut (windows, metal,cde) , et quelques uns de Substance ().
    Lorsque je fais le changement entre ceux par defaut, il n'y a pas de problème. Lorsque je fais le changement entre ceux de Substance, pas de souci non plus.
    Lorsque je passe d'un look&feel par defaut a un look&feel de Substance, toujours pas de souci.
    Mais lorsque je passe d'un look&feel de substance a un look&feel "defaut", j'obtiens une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
    	at javax.swing.plaf.basic.BasicTabbedPaneUI.tabForCoordinate(Unknown Source)
    	at javax.swing.plaf.basic.BasicTabbedPaneUI.setRolloverTab(Unknown Source)
    	at javax.swing.plaf.basic.BasicTabbedPaneUI.access$2000(Unknown Source)
    	at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mouseEntered(Unknown Source)
    	at java.awt.AWTEventMulticaster.mouseEntered(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.trackMouseEnterExit(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Substance delegate used when Substance is not the current LAF
    	at org.jvnet.substance.utils.SubstanceColorSchemeUtilities.getColorScheme(SubstanceColorSchemeUtilities.java:297)
    	at org.jvnet.substance.utils.SubstanceColorSchemeUtilities.getColorScheme(SubstanceColorSchemeUtilities.java:268)
    	at org.jvnet.substance.api.renderers.SubstanceDefaultTableHeaderCellRenderer.getTableCellRendererComponent(SubstanceDefaultTableHeaderCellRenderer.java:140)
    	at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderRenderer(Unknown Source)
    	at javax.swing.plaf.basic.BasicTableHeaderUI.getHeaderHeight(Unknown Source)
    	at javax.swing.plaf.basic.BasicTableHeaderUI.createHeaderSize(Unknown Source)
    	at javax.swing.plaf.basic.BasicTableHeaderUI.getPreferredSize(Unknown Source)
    	at javax.swing.JComponent.getPreferredSize(Unknown Source)
    	at javax.swing.ViewportLayout.preferredLayoutSize(Unknown Source)
    	at java.awt.Container.preferredSize(Unknown Source)
    	at java.awt.Container.getPreferredSize(Unknown Source)
    	at javax.swing.JComponent.getPreferredSize(Unknown Source)
    	at javax.swing.ScrollPaneLayout.preferredLayoutSize(Unknown Source)
    	at java.awt.Container.preferredSize(Unknown Source)
    	at java.awt.Container.getPreferredSize(Unknown Source)
    	at javax.swing.JComponent.getPreferredSize(Unknown Source)
    	at java.awt.BorderLayout.preferredLayoutSize(Unknown Source)
    	at java.awt.Container.preferredSize(Unknown Source)
    	at java.awt.Container.getPreferredSize(Unknown Source)
    	at javax.swing.JComponent.getPreferredSize(Unknown Source)
    	at javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneLayout.calculateSize(Unknown Source)
    	at javax.swing.plaf.basic.BasicTabbedPaneUI$TabbedPaneLayout.preferredLayoutSize(Unknown Source)
    	at java.awt.Container.preferredSize(Unknown Source)
    	at java.awt.Container.getPreferredSize(Unknown Source)
    	at javax.swing.JComponent.getPreferredSize(Unknown Source)
    	at javax.swing.plaf.basic.BasicSplitPaneUI$BasicHorizontalLayoutManager.preferredLayoutSize(Unknown Source)
    	at javax.swing.plaf.basic.BasicSplitPaneUI.getPreferredSize(Unknown Source)
    	at javax.swing.JComponent.getPreferredSize(Unknown Source)
    	at java.awt.GridBagLayout.GetLayoutInfo(Unknown Source)
    	at java.awt.GridBagLayout.getLayoutInfo(Unknown Source)
    	at java.awt.GridBagLayout.ArrangeGrid(Unknown Source)
    	at java.awt.GridBagLayout.arrangeGrid(Unknown Source)
    	at java.awt.GridBagLayout.layoutContainer(Unknown Source)
    	at java.awt.Container.layout(Unknown Source)
    	at java.awt.Container.doLayout(Unknown Source)
    	at java.awt.Container.validateTree(Unknown Source)
    	at java.awt.Container.validateTree(Unknown Source)
    	at java.awt.Container.validateTree(Unknown Source)
    	at java.awt.Container.validate(Unknown Source)
    	at javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
    	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
    	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    Et l'IllegalStateException se répète indéfiniment.
    J'ai reussi a déterminer la ligne qui pose problème dans mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SwingUtilities.updateComponentTreeUI(this.acceuil);
    ou this.acceuil est héritée de JFrame qui contient :
    JPanel, JsplitPane, JToolBar,JTextField,JLabel,JTabbedPane,JMenu.
    Je sais donc ou est l'erreur, mais je sais pas comment la corriger.

    Merci de votre aide.

    PS : J'utilise SwingUtilities.updateComponentTreeUI sur 9 JDialog sans souci.

    Edit : En faisant par élimination, je me suis rendu compte que le probleme vient des JTable qui se trouve dans mon JTabbedPane.

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Changer un LnF à la volée peu provoquer des comportements indésirables à causes des spécificités de chacun, il est préférable de redémarrer l'application pour que ça se passe correctement.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/10/2007, 16h30
  2. java .lang. IllegalStateException
    Par zaineb.z dans le forum Hibernate
    Réponses: 2
    Dernier message: 04/08/2007, 00h20
  3. IllegalStateException après la création d'un zip
    Par GreenJay dans le forum Struts 1
    Réponses: 3
    Dernier message: 19/07/2007, 15h16
  4. probleme Tomcat java.lang.IllegalStateException
    Par lulululucie dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 29/12/2006, 11h53
  5. [Servlet][Exception]IllegalStateException
    Par caro_a dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/06/2004, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo