Java创建一个重新组合一手牌的GUI

时间:2016-04-01 17:09:31

标签: java swing

我正在尝试为包含牌的牌创建一个gui。这些卡本身就是扩展JPanel的类的实例。

我需要创建一个最多可容纳7个卡片对象的gui,这些对象叠放在彼此的顶部,就像你一样

hold cards with hand

(忽略JFrames)。

是否可以通过Swing实现,如果可以,您可以指向一个合适的布局管理器吗?

2 个答案:

答案 0 :(得分:2)

我认为在你的情况下你需要使用JLayeredPane。你可以在JLayeredPane

中添加任何No of JPanel
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

答案 1 :(得分:1)

  

如果是这样,你能指点我一个合适的布局管理员吗?

JDK没有这方面的布局管理器。

查看Overlap Layout,这是为此目的而设计的布局。

它的工作原理是控制添加到面板的每个组件的Z顺序,以允许放置在第三维中。