我正在尝试为包含卡片的手创建gui。卡本身是扩展JPanel的类的实例。

我需要创建一个gui,最多容纳7个卡对象,这些对象堆叠在一起,彼此重叠,就像您会做的那样

 

(忽略JFrames)。

使用Swing是否可以实现,如果可以的话,您可以指出合适的layoutmanager吗?

最佳答案

我认为在您的情况下,您需要使用JLayeredPane。您可以添加任意数量的JPanels以适合JLayeredPane内

layeredPane = new JLayeredPane();
layeredPane.setPreferredSize(new Dimension(300, 310));
layeredPane.setBorder(BorderFactory.createTitledBorder(
                                    "jlayered example"));
layeredPane.addMouseMotionListener(new MouseMotionAdapter() {
});

for (int i = 0; i < ...number of panels...; i++) {
    JPanel panel = new Panel("panel"+i);
    layeredPane.add(panel, new Integer(i));
}


单击https://docs.oracle.com/javase/tutorial/uiswing/components/layeredpane.html检查如何使用JlayeredPane

如果希望jpanels彼此重叠,只需将布局设置为null layout并在其中添加Jpanels

关于java - Java创建类似于卡牌的GUI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36362053/

10-10 08:54