add()方法

时间:2016-09-23 06:50:35

标签: java

我正在尝试创建一个按行ArrayList创建JFrame个按钮的程序。但我在Line 21Line 22遇到了问题。 对于Line 21,我收到错误消息,告知它无法找到任何setBounds()方法。但它不是JButton的方法之一吗? 在Line 22中,错误是

  

没有为add(Object)找到合适的方法

但是我没有提到ArrayList中有JButtonLine 16? 任何详细的解释都可能有所帮助。

package Buttonrows;

import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JButton;


public class Buttonrows extends JFrame {
public ArrayList buttons;


public Buttonrows(){
ArrayList<JButton>buttons=new ArrayList<JButton>(); //Line 16
buttons.add(new JButton("Apple"));
buttons.add(new JButton("Banana"));
buttons.add(new JButton("Grapes"));
buttons.add(new JButton("Mango"));
buttons.add(new JButton("Pineapple"));
for(int i=0;i<=buttons.size()-1;i++){
    buttons.get(i).setBounds(30,i*60,100,50); //Line 21
    add(buttons.get(i));                      //Line 22
}
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800,800);
setLayout(null);
 }
public static void main(String[] args) {
Buttonrows program=new Buttonrows();        
 }
}

1 个答案:

答案 0 :(得分:0)

尝试

((JButton)buttons.get(i)).setBounds(30,i*60,100,50);

add((JButton)buttons.get(i));