我有下面的代碼,它會在按鈕單擊時創建一個JButton數組。 Ope[]
已在課堂上公開申報。我有問題,我得到空指針。也就是說,它不打印第二個循環,即。不會進入內部迭代。 請告訴我如何處理數組的偵聽器。提前致謝。將監聽器添加到JButton數組;
for(int i=0,y=30; i<counter;i++,y+=15)
{
open[i]=new JButton("Open");
open[i].setBounds(380, y, 70, 15);
open[i].addActionListener(this);
panelDisplay.add (open[i]);
System.out.println(""+i);
}
事件中的actionPerformed功能處理如下:
for(int j=0; j<open.length; j++)
{
System.out.println("1st in a loop"+j);
if(ae.getSource() != null)
{
if(ae.getSource() == open[j])
{
System.out.println("2nd in a loop" +j);
int id;
String stringid;
System.out.println("open of"+j+"is clicked");
stringid = ""+table.getValueAt(j, 0);
id = Integer.parseInt(stringid);
fetchData(id);
//ae.getSource().equals(null);
}
}
}
不要使用'的setBounds('。使用佈局管理器佈置按鈕。發佈證明問題的SSCCE。 – camickr 2013-04-23 15:38:40