I'm using jasperreports-3.5.0.jar as my library. My swing app is decorated with Substance Look N Feel. I can open JasperViewer window with document i need to print.. All buttons (Like 'save' , 'next page') in JasperViewer window are working with no problems except "print" button when i click on "Print Button", I can see, =========================================== org.jvnet.lafwidget.UiThreadingViolationException: Component state change must be done on Event Dispatch Thread at org.jvnet.lafwidget.LafWidgetUtilities.testComponentStateChangeThreadingViolation(LafWidgetUtilities.java:589) at org.jvnet.lafwidget.animation.FadeStateListener$1.stateChanged(FadeStateListener.java:232) at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:333) at javax.swing.DefaultButtonModel.setRollover(DefaultButtonModel.java:266) at javax.swing.AbstractButton.setEnabled(AbstractButton.java:2062) at net.sf.jasperreports.view.JRViewer$21.run(JRViewer.java:1208) at java.lang.Thread.run(Thread.java:619) 02-May-2009 12:54:13 net.sf.jasperreports.view.JRViewer$21 run SEVERE: Print error. org.jvnet.lafwidget.UiThreadingViolationException: Component state change must be done on Event Dispatch Thread at org.jvnet.lafwidget.LafWidgetUtilities.testComponentStateChangeThreadingViolation(LafWidgetUtilities.java:589) at org.jvnet.lafwidget.animation.FadeStateListener$1.stateChanged(FadeStateListener.java:232) at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:333) at javax.swing.DefaultButtonModel.setRollover(DefaultButtonModel.java:266) at javax.swing.AbstractButton.setEnabled(AbstractButton.java:2062) at net.sf.jasperreports.view.JRViewer$21.run(JRViewer.java:1208) at java.lang.Thread.run(Thread.java:619) org.jvnet.substance.api.UiThreadingViolationException: Component creation must be done on Event Dispatch Thread at org.jvnet.substance.utils.SubstanceCoreUtilities.testComponentCreationThreadingViolation(SubstanceCoreUtilities.java:2358) at org.jvnet.substance.SubstanceOptionPaneUI.createUI(SubstanceOptionPaneUI.java:82) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:36) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:243) at javax.swing.UIDefaults.getUI(UIDefaults.java:751) at javax.swing.UIManager.getUI(UIManager.java:1016) at javax.swing.JOptionPane.updateUI(JOptionPane.java:1859) at javax.swing.JOptionPane.<init>(JOptionPane.java:1822) at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:841) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:650) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:621) at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:592) at net.sf.jasperreports.view.JRViewer$21.run(JRViewer.java:1217) at java.lang.Thread.run(Thread.java:619) UIDefaults.getUI() failed: createUI() failed for javax.swing.JOptionPane[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=,icon=,initialValue=,message=Error printing report. See the console for details.,messageType=INFORMATION_MESSAGE,optionType=DEFAULT_OPTION,wantsInput=false] java.lang.reflect.InvocationTargetException =========================================================== and more........ as output.... is there any way to get rid of this error...????? :( I can not print my report...