JScrollPane中的JDesktopPane调整了问题

时间:2017-10-01 16:40:29

标签: java swing jscrollpane jdesktoppane

x()内有JDesktopPaneJScrollPane内部有许多JDesktopPane s,以编程方式添加。我想有这种行为:

  • JInternalFrame应具有固定大小(远大于主JFrame大小)

  • JDesktopPane尺寸应根据调整大小时的主JFrame而有所不同

基本上与每个图像编辑器具有相同的行为(即Photoshop),但在视口中使用JScrollPane s而不是图像。

起初我认为这种行为很容易获得,但我无法做到这一点。当然我错过了关于布局或相关内容的一些内容......

这是相关的SSCCE

JInternalFrame

1 个答案:

答案 0 :(得分:1)

JScrollPane视口不考虑大小或边界,而是首选大小。所以

class Main extends JFrame {

    private static final int DT_WIDTH = 1920;
    private static final int DT_HEIGHT = 1080;
    private JDesktopPane container = new JDesktopPane();

    public Main(){
        super("JDesktopPane SS");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(1280, 720);

        // setLayout(new ScrollPaneLayout()); // ?????

        // container.setBounds(new Rectangle(1920, 1080));
        container.setPreferredSize(new Dimension(DT_WIDTH, DT_HEIGHT));