0

JButton 配列を GridLayout に追加しようとしていますが、機能していないようです。

おそらく初歩的なミスです -- 何が間違っているのでしょうか?

import java.awt.*;
import java.applet.Applet;
import javax.swing.*;
public class Grid extends JApplet
{
    public JButton[] inv;
    public void init()
    {
        setLayout(new GridLayout(4,5));
        int i = 0;
        while(i>20)
        {
            inv[i] = new JButton("Slot #" + i);
            add(inv[i]);
            System.out.println("Button " + i + " added.");
            i++;
        }
    }
}

PS - より良い方法でプログラムできるものがあれば、修正してください。

ありがとうございました。

4

2 に答える 2

0

あなたがやりたかったことは次のとおりだと思います:

import java.awt.*;
import java.applet.Applet;
import javax.swing.*;
public class Grid extends JApplet
{
    public JButton[] inv = new JButton[20]; //Initlaized array
    public void init()
    {
        setLayout(new GridLayout(4,5));
        int i = 0;
        while(i<20) //Used less than sign instead of ">"
        {
            inv[i] = new JButton("Slot #" + i);
            add(inv[i]);
            System.out.println("Button " + i + " added.");
            i++;
        }
    }
}
于 2013-08-11T23:13:46.977 に答える
0
  1. 配列を作成していないため、配列にエントリを割り当てる方法について教科書を読んでください。Java 言語の学習チュートリアルには、配列の使用に関するセクションがあります。

  2. あなたのループは間違っています。i20 より大きいことはありますか?

于 2010-08-19T03:46:04.793 に答える