【发布时间】:2015-01-27 19:07:56
【问题描述】:
如何重绘最右边的卡片最后和最左边的卡片,这样重叠会反转?
所以我在 flowlayout 中有一个 JPanel,其中包含 JButton。我想模拟手拿卡片的感觉,所以我重叠了 JButton。问题是 JButtons 图像的重叠使得数字只出现在右下角,我希望它们位于左上角。 这就是我现在拥有的:
ZOrdering 不起作用,它只是颠倒了牌的顺序(另一边是 A,K 在前等)。我想要的是最后重绘最右边的卡片,最左边的卡片首先重绘,这样重叠就会反转。
编辑: 构造手的代码:
hand= new JPanel();
hand.setLayout(new FlowLayout(FlowLayout.CENTER, -45, 0));
hand.setOpaque(false);
for(int i=0; i<p1.getHand().size(); i++){
JButton te=new JButton();
//button customization, icons and such
te.addActionListener(this);
//here I tried the ZOrdering that didn't work
//hand.setComponentZOrder(te, 0)
hand.add(te);
}
this.add(hand);
}
//yes, the setBounds is long and weird
hand.setBounds(WINDW/2-((p1.getHand().size())*CARDWHAND*2/5), WINDH-CARDHHAND-30, p1.getHand().size()*CARDWHAND*4/5+50, CARDHHAND+30);
此布局管理器为空
【问题讨论】:
-
对不起,我在描述中没有明确的问题。我的问题是,如何最后重绘最右边的卡片,最左边的卡片先重绘,这样重叠会反转?
-
正如 Andrew 已经说过的,我们需要一个可以使用的 MCVE(即示例代码)。帮助我们帮助您阅读这些链接并执行其中所说的 C:
-
您是否尝试过以相反的顺序添加卡片?
-
顺便说一句,组件通常按照添加的顺序绘制(如果我没记错的话)
标签: java swing jbutton layout-manager flowlayout