我知道还有其他类似的问题,但是这些解决方案都不适合我,或者我不知道如何实现。
我正在制作一个非常基本的房间速写器,我有一个带有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
以正确的顺序创建Swing GUI很有帮助。