java - 如何在网格上的每个空间中输入不同的值

标签 java

嘿,我是 10 年级的 Java 新手,我遇到了一个小问题。我正在 Word 上创建游戏 4 张图片,但我似乎无法在网格的每个方 block 中放置不同的图像。

这是网格

减速:

int row = 4;
int col = 4;
JButton a[] = new JButton [row * col];  

这是数组:

card4 = new Panel ();
Panel g = new Panel (new GridLayout (row, col));
for (int i = 0 ; i < a.length ; i++)
{
   a[i] = new JButton ("Hi");
   a[i].setPreferredSize (new Dimension (50,50));
   g.add (a[i]);
}

如何调出网格上的每个单独按钮并为其分配不同的图像?

最佳答案

当您运行new JButton("Hi")时,您正在调用该类的(其中一个)构造函数。 JButton 有几个不同的构造函数,它们采用不同的参数。这些构造函数之一是 JButton(String text, Icon icon),它允许指定要在按钮中绘制的 Icon。因此,首先您必须创建一个图标,然后使用它创建按钮,例如:

Icon icon = new ImageIcon("name/of/file/containing/icon/image");
a[i] = new JButton("Button Text", icon);

如果您只想要图标而不需要文本,则只需使用:

Icon icon = new ImageIcon("name/of/file/containing/icon/image");
a[i] = new JButton(icon);

包含图像的文件可以是 jpg、png、gif。现在就查看 Java 教程来使用图像和控件。

关于java - 如何在网格上的每个空间中输入不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34884500/

相关文章:

java - 聊天应用程序中的反向分页不起作用

java - FragmentTransaction 仅在纵向模式下工作

java - 如何从 JTextField 中获取值并将其移至 Int 变量中

java - 在 JSP 屏幕上显示动态 UTC 时钟时间

java - 使用 Postconstruct 方法在应用程序范围类中注入(inject)请求范围 bean 时出现上下文不活动异常

java - 无需 Java EE 服务器的端点发布

java - 按升序读取和写入文本文件。 (小/烦人的错误-即将完成)

java - 具有多个线程的Java中的对象指针

java - 使用 sun.misc.BASE64Decoder/sun.misc.BASE64Encoder 是个好主意吗?

java - 从 Java 计算文件 CheckSum 值