我正在尝试创建一个按行ArrayList
创建JFrame
个按钮的程序。但我在Line 21
和Line 22
遇到了问题。
对于Line 21
,我收到错误消息,告知它无法找到任何setBounds()
方法。但它不是JButton
的方法之一吗?
在Line 22
中,错误是
没有为add(Object)找到合适的方法
但是我没有提到ArrayList
中有JButton
人Line 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();
}
}
答案 0 :(得分:0)
尝试
((JButton)buttons.get(i)).setBounds(30,i*60,100,50);
和
add((JButton)buttons.get(i));