对于学校我需要制作一个处理[X]随机牌的游戏。 我用这段代码来构建和显示我的图像。 只有一件事出了问题。显示项目时,只有最后一张卡 显示。
有什么办法可以让这些图像彼此相邻吗?
public static void main(String[] args) throws FileNotFoundException, IOException {
Cards cards = new Cards();
int dealSize = 6;
deal = cards.getShuffledCards(dealSize);
System.out.println("Deal of 4 randomly picked cards " + deal);
f = new JFrame();
for(int i=0; i < dealSize; i++) {
card = deal.get(i).toString();
f.getContentPane().add(setLabel(card));
}
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocation(200,200);
f.setVisible(true);
}
public static JLabel setLabel(String fileLocation) throws FileNotFoundException, IOException {
InputStream file = new BufferedInputStream(
new FileInputStream([DIRECTORY TO IMAGES]" + fileLocation));
BufferedImage image = ImageIO.read(file);
label = new JLabel(new ImageIcon(image));
return label;
}
答案 0 :(得分:2)
您可能需要制作一个任意网格,其中一张卡可以占用每个部分。像GridLayout或GridBagLayout。
通过略读代码我可以看到,你基本上覆盖了你为每次迭代放置的最后一个元素。