1个JFrame中2个不同大小的JPanels

问题描述 投票:1回答:1

我知道还有其他类似的问题,但是这些解决方案都不适合我,或者我不知道如何实现。

我正在制作一个非常基本的房间速写器,我有一个带有jlabel的侧面板,将来我会在更大的jpanel上拖动它。但是,如何制作可用于单击和拖动家具的侧面JPanel?

我的代码如下:

public class maj11 {
    JSplitPane splitPaneV;
    JSplitPane splitPaneH;
    JFrame frame;
    JPanel panel, panel2;
    JLabel l1, l2, l3, l4, l5, l6, l7, l8, l9, l10;
    ImageIcon b1, b2, b3, b4, b5, b6, b7, b8, b9, b10;

    public static void main(String[] args) {
        new maj11();
    }

    public maj11() {
        b1 = new ImageIcon("/Users/a/Desktop/nyabilder/toa.png");
        b2 = new ImageIcon("/Users/a/Desktop/nyabilder/badkar.png");
        b3 = new ImageIcon("/Users/a/Desktop/nyabilder/bank.png");
        b4 = new ImageIcon("/Users/a/Desktop/nyabilder/disk.png");
        b5 = new ImageIcon("/Users/a/Desktop/nyabilder/dusch.png");
        b6 = new ImageIcon("/Users/a/Desktop/nyabilder/fridge.png");
        b7 = new ImageIcon("/Users/a/Desktop/nyabilder/soffa.png");
        b8 = new ImageIcon("/Users/a/Desktop/nyabilder/spis.png");
        b9 = new ImageIcon("/Users/a/Desktop/nyabilder/wall.png");
        b10 = new ImageIcon("/Users/a/Desktop/nyabilder/window.png");
        l1 = new JLabel(b1);
        l2 = new JLabel(b2);
        l3 = new JLabel(b3);
        l4 = new JLabel(b4);
        l5 = new JLabel(b5);
        l6 = new JLabel(b6);
        l7 = new JLabel(b7);
        l8 = new JLabel(b8);
        l9 = new JLabel(b9);
        l10 = new JLabel(b10);

        frame = new JFrame("Room Designer");
        panel = new JPanel();
        panel2 = new JPanel();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200, 600);
        // frame.pack();
        panel.setLayout(new GridLayout(5, 2, 10, 10));
        panel.setSize(200, 600);

        //panel2.setLayout(new BorderLayout());

        panel.add(l1);
        panel.add(l2);
        panel.add(l3);
        panel.add(l4);
        panel.add(l5);
        panel.add(l6);
        panel.add(l7);
        panel.add(l8);
        panel.add(l9);
        panel.add(l10);

        frame.add(panel);
    }
}

现在的输出是:imgur

而且我希望它是:imgur

java swing jframe jpanel
1个回答
1
投票

以正确的顺序创建Swing GUI很有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.