2012-03-19 14 views
0
私は学校のプロジェクトをやってる

のアレイと、私たちは、私は、個々のActionListenersJButtons多く持つクラスを作成しているなど、多くのJButtonsActionListeners、画像、とのプログラムを作成する必要がありますが、方法これを個別に作成するのではなく、ボタンの配列に変更するにはどうすればよいですか?作る私のJButton/ActionListenerに

これは私のコードです...すべての作業を行うことなく

public class Selectie extends JFrame{ 

    private JButton keeper, verdediger, verdediger1, verdediger2; 

    public void initGUI() { 
     keeper = new JButton("1. "+""+" Kenneth Vermeer"); 
     Cursor cur = keeper.getCursor(); 
     keeper.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); 
     keeper.setBounds(20, 50, 186, 12); 
     keeper.setFocusable(false); 
     keeper.setBorderPainted(false); 
     keeper.setContentAreaFilled(false); 
     keeper.setFont(new Font("Arial",Font.PLAIN,17)); 
     keeper.setForeground(Color.WHITE); 
     keeper.setActionCommand(Vermeer); 

     verdediger = new JButton("2. "+""+" Gregory van der Wiel"); 
     Cursor cur1 = verdediger.getCursor(); 
     verdediger.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); 
     verdediger.setBounds(20, 70, 215, 17); 
     verdediger.setFocusable(false); 
     verdediger.setBorderPainted(false); 
     verdediger.setContentAreaFilled(false); 
     verdediger.setFont(new Font("Arial",Font.PLAIN,17)); 
     verdediger.setForeground(Color.WHITE); 
     verdediger.setActionCommand(Gregory); 

     verdediger1 = new JButton("3. "+""+" Toby Alderweireld"); 
     Cursor cur2 = verdediger1.getCursor(); 
     verdediger1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); 
     verdediger1.setBounds(20, 95, 188, 17); 
     verdediger1.setFocusable(false); 
     verdediger1.setBorderPainted(false); 
     verdediger1.setContentAreaFilled(false); 
     verdediger1.setFont(new Font("Arial",Font.PLAIN,17)); 
     verdediger1.setForeground(Color.WHITE); 
     verdediger1.setActionCommand(Alderweireld); 

     verdediger2 = new JButton("4. "+""+" Jan Vertonghen"); 
     Cursor cur3 = verdediger2.getCursor(); 
     verdediger2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); 
     verdediger2.setBounds(20, 120, 174, 17); 
     verdediger2.setFocusable(false); 
     verdediger2.setBorderPainted(false); 
     verdediger2.setContentAreaFilled(false); 
     verdediger2.setFont(new Font("Arial",Font.PLAIN,17)); 
     verdediger2.setForeground(Color.WHITE); 
     verdediger2.setActionCommand(Vertonghen); 

     SelectieController s1 = new SelectieController(keeper,verdediger,verdediger1,verdediger2); 

     keeper.addActionListener(s1); 
     verdediger.addActionListener(s1); 
     verdediger1.addActionListener(s1); 
     verdediger2.addActionListener(s1); 
    } 
} 
+0

これは宿題ではありませんか? –

+0

[タグ:宿題]を含めて関連性のないタグを削除するように更新しました。 –

+0

あなたの質問に答えられた場合、またはそれがもはや有効でない場合は、誰もが問題が解決されたことを知るように、最も適切な回答を選択するために「チェック」してください。ありがとう。 – wattostudios

答えて

0

、あなたはこのような何かする必要があります(あなたは空白を埋めることができます - それは結局あなたの宿題ですが...)

// create the array 
JButton[] buttons = new JButton[10]; 

// Repeat for each button... 
for (int i=0;i<buttons.length;i++){ 
    // create the button 
    JButton button = new JButton("label"); 

    // set the button properties... 
    button.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); 
    button.setBounds(20, 95, 188, 17); 
    button.setFocusable(false); 
    button.setBorderPainted(false); 
    button.setContentAreaFilled(false); 
    // etc. 

    // Assign the listener 
    button.addActionListener(s1); 

    // Add the button to the array 
    buttons[i] = button; 
    } 
関連する問題