RESOLVIDO = JDesktopPane não dá scroll dentro de JScrollPane

Não sei o que estou fazendo errado mas não era para funcionar assim.

Tenho um JScrollPane (em um JFrame) com um JDesktopPane e dentro desse JDesktopPane eu coloco JInternalFrames (uma simples aplicação MDI), porém quando ultrapassa o limite (horizontal e vertical) da tela deveria gerar barras de rolagem para movimentar e isso não está acontecendo.

[code]
caixaCentral = new javax.swing.JScrollPane();
desktop = new javax.swing.JDesktopPane();

getContentPane().add(barraFerramentas, java.awt.BorderLayout.NORTH);

desktop.setDesktopManager(new DesktopManager());
desktop.setDragMode(javax.swing.JDesktopPane.OUTLINE_DRAG_MODE);
caixaCentral.setViewportView(desktop);

getContentPane().add(caixaCentral, java.awt.BorderLayout.CENTER);
…[/code]

Para adicionar meu JInternalFrame:


Sei que estou esquecendo alguma coisa porque já tenho 3 sistemas funcionando corretamente mas nesse não consigo ver o que está errado.

Como q vc resolveu este problema amigo?
abraço

Eu havia me esquecido de colocar o desktop dentro de um JScrollPane.

JScrollPane scrollPane = new JScrollPane(); scrollPane.getViewport().add(desktop); getContentPane().setLayout(new BorderLayout()); getContentPane().add(barraFerramentas, BorderLayout.NORTH); getContentPane().add(scrollPane, BorderLayout.CENTER); getContentPane().add(statusBar, BorderLayout.SOUTH);

Opa, obrigado por responder…
Mas ainda não está funcionando, rsrs, estou fazendo da seguinte forma, adiciono um JScrollPane a um JFrame, e dentro do JScrollPane contém meu JDesktopPane…
as barras de rolagem aparecem normalmente, mas quando o internalFrame contido no desktopPane fica maior q o jframe, as rolagens não habilitam…Vc sabe o q pode ser?
um abraço

Eu to utilizando O Jscroll… É muito bom por sinal… tem menu e tudo… o único problema é que ele sempre pega a cor do plano de fundo do windows… Não consigo alterar de jeito nenhum… se alguém conseguir ai dá um alô…

http://jscroll.sourceforge.net/

Fala meu querido! valeu pela dica, eu até tinha testado esse já, mas dá um nullpointer no ícone…dá uma olhada

Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: org.jscroll.widgets.EmptyDesktopIconUI cannot be cast to org.jvnet.substance.SubstanceDesktopIconUI
at org.jvnet.substance.SubstanceInternalFrameUI$1.propertyChange(SubstanceInternalFrameUI.java:140)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:276)
at java.awt.Component.firePropertyChange(Component.java:7868)
at javax.swing.JComponent.addNotify(JComponent.java:4684)
at org.jscroll.widgets.JScrollInternalFrame.addNotify(Unknown Source)
at java.awt.Container.addImpl(Container.java:1062)
at javax.swing.JLayeredPane.addImpl(JLayeredPane.java:209)
at javax.swing.JDesktopPane.addImpl(JDesktopPane.java:470)
at java.awt.Container.add(Container.java:352)
at org.jscroll.widgets.DesktopScrollPane.initAndAddFrame(Unknown Source)
at org.jscroll.widgets.DesktopScrollPane.add(Unknown Source)
at org.jscroll.widgets.DesktopMediator.add(Unknown Source)
at org.jscroll.JScrollDesktopPane.add(Unknown Source)
at org.jscroll.JScrollDesktopPane.add(Unknown Source)
at g.framework.view.GBaseFrame.addInternalFrame(GBaseFrame.java:77)
at g.studiocontroller.view.listener.CliqueBotaoToolBarListener.actionPerformed(CliqueBotaoToolBarListener.java:36)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at org.jvnet.substance.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:111)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

obs: nao sei se é assim q posta exception mesmo…

um abraço!

Ola javer!!

Aqui tbm não deu certo =/

o Scroll não atualiza conforme os internalFrame

procurando mais um pouco na net, achei esse tutorial aqui…

http://www.javaworld.com/javaworld/jw-05-2001/jw-0525-mdi.html?page=1

agora funcionou =D!