2010-08-19 53 views
0

我想添加一個JButton數組到我的GridLayout,但它似乎沒有工作。Java - 添加JButton到JApplet

可能是一個菜鳥的錯誤 - 我做錯了什麼?

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 - 如果您可以用更好的方式進行編程 - 請爲我修復它。

謝謝。

回答

0
  1. 您沒有創建數組,請閱讀有關如何爲數組分配條目的教科書。 Learning the Java Language教程有關於使用數組的一節。

  2. 您的循環錯誤。 i是否超過20?

+0

你沒有任何幫助。但是你對我說話的方式讓我看起來像個白癡。在你心中獲得一些善意。 – nn2 2010-08-19 03:59:20

+0

我弄明白了。 – nn2 2010-08-19 04:05:39

+3

我不僅解決了你的循環的直接問題,我指出你的下一個問題與空數組。我不相信勺子餵養的答案,你需要學會發展你自己的解決問題的能力。此外,你需要學習閱讀教程(這就是爲什麼我給你的鏈接)和API。 – camickr 2010-08-19 05:07:44

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++; 
     } 
    } 
}