2013-10-27 3 views
0

Я создал JDesktopPane с 20 JInternalFrames. Однако, когда я сворачиваю все из них, я не могу прокручивать их (слева направо) enter image description hereScrollable Iconified JInternalFrames

import javax.swing.*; 
import java.awt.*; 
class Untitled { 
    public static JDesktopPane desk; 
    public static JFrame f; 
    public static void main(String[] args) { 
     f = new JFrame(); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     f.setVisible(true); 
     f.setSize(1000,1000); 
     desk = new JDesktopPane(); 
     f.add(desk); 
     f.setContentPane(desk); 
     f.setSize(1200,800); 
     f.setSize(1201,801); 
     for(int i = 0; i < 10; i++){ 
      JInternalFrame j = new JInternalFrame("test",true,true,true,true); 
      desk.add(j); 
      j.setVisible(true); 
      j.setSize(300,500); 
     } 
     for(int a = 0; a < 10; a++){ 
      JInternalFrame j = new JInternalFrame("test2",true,true,true,true); 
      desk.add(j); 
      j.setVisible(true); 
      j.setSize(300,500); 
     } 
    } 
} 

Есть ли способ, что я могу, например, сворачиваю на JInternalFrames в JScrollPane, так что я могу прокручивать их?

ответ

1

Похоже, вы используете Mac. В Windows значки накладываются друг на друга, когда они заканчиваются из горизонтального пространства. Хотя Windows по-прежнему имеет проблемы, если вы уменьшаете ширину рабочего стола.

В любом случае, за это отвечает класс . Вызывается метод iconifyFrame(). Таким образом, вам нужно будет предоставить пользовательскую реализацию DesktopManager.

Возможно, вы можете украсть версию Windows и использовать ее для Mac?

+1

Этот связанный [пример] (http://stackoverflow.com/a/9422246/230513) поддерживает «Список », который может предложить отправную точку. – trashgod