jakline nataly
jakline nataly

Reputation: 83

automated buttons implementation in java

I want to have a for loop, that can implement and add a specified number of JButtons the one after the other. I was trying to implement it and this is my code so far:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ArrayForm extends JFrame implements ActionListener 
{
    JPanel numPanel = new JPanel();
    JPanel opPanel = new JPanel();

    JTextField textField = new JTextField(25);

    JButton [] buttons = new JButton[10];
    JButton [] OPbuttons = new JButton[6];

    String num="";

    String [] operation = {"+","-","*","/","=","C"};

    public static void main(String[] args) 
    {ArrayForm fobject = new ArrayForm();}

    public ArrayForm()
    {
            setLayout(new FlowLayout());
            setSize(400,300);
            setTitle("Calculator");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setLocationRelativeTo(null);

            numPanel.setPreferredSize(new Dimension(180,150));
            numPanel.setLayout(new FlowLayout());

            opPanel.setPreferredSize(new Dimension(200,70));
            opPanel.setLayout(new FlowLayout());

            for (int i = 0; i<10; i++)
            { 
                //The code in here
            }

            for (int i = 0; i<6; i++)
            {
                //The code in here
            }

            add(textField);
            this.textField.setEditable(false);
            add(numPanel);
            add(opPanel);
            setVisible(true);
    }

    @Override
    public void actionPerformed(ActionEvent e) 
    {

    }
}

Can you please help me with for loop part? where the first one is buttons array, and the second one is for OPbuttons array.

Upvotes: 0

Views: 24

Answers (1)

yasserkabbout
yasserkabbout

Reputation: 201

Your for loop part might be as follows:

            for (int i = 0; i<10; i++)
            { 
                buttons[i] = new JButton(""+i);
                numPanel.add(buttons[i]);
                buttons[i].addActionListener(this);
            }

            for (int i = 0; i<6; i++)
            {
                OPbuttons[i] = new JButton(operation[i]);
                opPanel.add(OPbuttons[i]);
                OPbuttons[i].addActionListener(this);
            }

What i have understood, is that you are trying to add the buttons of a calculator automatically, within two different panels...

NB: don't forget to add the code for your Action Listener.

Upvotes: 1

Related Questions