我用20个JInternalFrames创建了一个JDesktopPane。但是,当我将所有这些图标化时,我无法滚动它们(从左到右)
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,以便我可以滚动它们吗?
答案 0 :(得分:1)
看起来您正在使用Mac。在Windows中,当图标用完水平空间时,图标会相互叠加。虽然如果减小桌面的宽度,Windows仍有问题。
无论如何,DesktopManager
类负责此行为。调用iconifyFrame()方法。因此,您需要提供自定义的DesktopManager实现。
也许你可以窃取Windows实现并将其用于Mac?