如何以gridbaglayout格式显示图像?

| 如何以
GridGagLayout
格式显示图像? 我正在制作纸牌游戏(准确地说是3张纸牌扑克),我设法将卡的名称(如3颗红心)显示为
JLabel
,但没有显示,但是我不知道如何显示图像以及如何做我将其放置在想要的位置。
JLabel label = new JLabel(\"Deal\");
c.fill = GridBagConstraints.HORIZONTAL;
c.gridwidth = 3;
c.gridx = 0;
c.gridy = 2;
pane.add(label, c);
在驱动器上或项目文件夹中的任何位置,我应将图像文件存储在哪里? 编辑: 嘿 我自己弄清楚了 但只是为了确保 我做到了     嘿 我自己弄清楚了 但只是为了确保 我做到了:
card=new ImageIcon(\"G:\\\\CS3\\\\png cards\\\\Card Back.png\");
c1 = new JLabel(card);
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.5;
c.gridx = 1;
c.gridy = 0;
pane.add(c1, c);
所以这确实显示了我想要的图像 现在看起来工作正常 那么这个编码有什么问题吗? 所以这确实显示了我想要的图像 现在看起来工作正常 那么这个编码有什么问题吗?     
已邀请:
看一下java gridbag教程,了解有关如何布局项目的想法http://download.oracle.com/javase/tutorial/uiswing/layout/gridbag.html 但是基本概念是,在添加组件时,它们会在网格中分配一个位置,并且它们可以在该网格中容纳多个单元。请注意,有时它可能很乏味。 就添加图像而言,有几种方法,但我知道的最干净的方法是创建BufferedImage,然后将该图像作为图像图标添加到jpanel中:
InputStream imageStream = this.getClass().getResourceAsStream(\"resources/image.jpeg\")
BufferedImage image = ImageIO.read(imageStream);
JLabel picLabel = new JLabel(new ImageIcon(image))
然后,您将拥有一个JLabel,它是一个图像,您可以将其添加到窗格中。
pane.add(picLabel);
最后,在存储图像方面,您应该在项目中创建一个资源文件夹,并且如果正确设置了类路径,则可以在类上使用
getResourceAsStream()
方法来获取图像。     

要回复问题请先登录注册