2016-09-23 10 views
0

ボタンのArrayListを行ごとにJFrameに作成するプログラムを作成しようとしています。しかし、私はLine 21Line 22に問題があります。 Line 21については、setBounds()メソッドが見つからないというエラーが表示されています。しかし、JButtonの方法の1つではありませんか? Line 22でエラーがadd(Object)をadd()メソッドのArrayListの難易度

が見つかりませ適切な方法

ではありません。しかし、私はそれがLine 16JButton年代を保持ArrayListであることを言及しませんでしたか? 詳細な説明が参考になります。

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

を試してみて、どのようなJDKの設定はありますか?あなたのコンストラクタの最後に、 'Buttonrow'インスタンス用の生の' ArrayList'はコンストラクタで作成した 'ArrayList'によって陰影付けされています。 – ChiefTwoPencils

+0

NetBeans IDEを使用していますが、JDKの設定を確認する方法がわかりません。 –

+0

JDK 1.8.0_102のN​​etBeans 8.1で動作します。 – xehpuk

答えて

0

あなたはどのようなIDEを使用している

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

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

しかし、なぜこれは必要ですか? –

+0

正確にはわかりませんが、 'buttons.get(i)'は 'JButton'ではなく' Object'を返すようです。 – peterremec

+1

しかし、私は、 'ArrayList'はLine 16で' JButton'を保持する必要があると述べました。 –