Welcome to Dream.In.Code
Become a Java Expert!

Join 149,534 Java Programmers for FREE! Get instant access to thousands of Java experts, tutorials, code snippets, and more! There are 1,532 people online right now. Registration is fast and FREE... Join Now!




loop array question

 
Reply to this topicStart new topic

loop array question

dbrine
26 May, 2007 - 11:56 AM
Post #1

New D.I.C Head
*

Joined: 25 Apr, 2007
Posts: 48


My Contributions
Trying to get this checkerboard to loop and change colors based on the number inputted into start, step and stop. the problem I have no is that I get 2 errors.

incompatible types
found : void
required: java.awt.TextArea
numberArea[x] = numberArea[start & start++].setBackground(Color.magenta);

CODE

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

public class Checkerboard extends Frame implements ActionListener
{

    Panel boardPanel = new Panel();
    TextArea numberArea[] = new TextArea[16];
    Panel buttonPanel = new Panel();
    Button goBut = new Button("Go");
    Label startLabel = new Label("Start");
    Label stepLabel = new Label("Step");
    Label stopLabel = new Label("Stop");
    Panel inputPanel = new Panel();
    int start=0, stop=0, step=0;
    TextField startField = new TextField();
    TextField stepField = new TextField();
    TextField stopField = new TextField();


    public Checkerboard()
    {
        // set layouts for frame and two panels
        this.setLayout(new BorderLayout());
        boardPanel.setLayout(new GridLayout(4,4));
        inputPanel.setLayout(new GridLayout(2,3));
        buttonPanel.setLayout(new FlowLayout(FlowLayout.LEFT));

        // add components to board Panel
        for (int i = 0; i < numberArea.length; i++) {
            numberArea[i] = new TextArea(null, 3, 5, 3);
            numberArea[i].setText(Integer.toString(i));
            numberArea[i].setEditable(false);
            numberArea[i].setBackground(Color.WHITE);
            boardPanel.add(numberArea[i]);
        }

        // add components to input Panel
        inputPanel.add(startField);
        inputPanel.add(stepField);
        inputPanel.add(stopField);
        inputPanel.add(startLabel);
        inputPanel.add(stepLabel);
        inputPanel.add(stopLabel);

        //buttonPanel Component
        buttonPanel.add(goBut);

        // add panels to frame
        add(boardPanel, BorderLayout.NORTH);
        add(inputPanel, BorderLayout.CENTER);
        add(buttonPanel, BorderLayout.SOUTH);

        goBut.addActionListener(this);

        // overriding the windowClosing() method will allow the user to click the Close button
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

    }// end of constructor method

    public static void main(String[] args) {
        Checkerboard f = new Checkerboard();
        f.setBounds(50, 100, 300, 400);
        f.setTitle("Checkerboard Array");
        f.setVisible(true);
    }// end of main() method

    public void actionPerformed(ActionEvent e)
    {
        try
        {
            start = Integer.parseInt(startField.getText());
            step = Integer.parseInt(stepField.getText());
            stop = Integer.parseInt(stopField.getText());

        }catch(Exception exception)

        {
            return;
        }

        Object src = e.getSource();

        for (int x = start -1; x < stop; x = step)//you need to do the -1 because the array subscript values in Java all start
        //with zero, but humans use numbers starting with 1
        {
            //numberArea[x] = numberArea[start & start++].setBackground(Color.magenta);//..change the color for that square here

            if (src == goBut)
            {
            if (start >= 0 && start <= 15 && start < stop) {
                numberArea[x] = numberArea[start & start++].setBackground(Color.magenta);

            }
            else
            {
                JOptionPane
                        .showMessageDialog(
                                null,
                                "You have entered an incorrect number or a number larger than 15. Please try again",
                                "Error", JOptionPane.ERROR_MESSAGE);
            }

            if (step >= 0 && step <= 15 && start < stop) {
                numberArea[x] = numberArea[step & step++].setBackground(Color.yellow);
            }
        }
}
    }

    // clears stop, stop, step
    void clearFields() {
        startField.setText("");
        stepField.setText("");
        stopField.setText("");
        startField.requestFocus();
        boardPanel.setBackground(Color.WHITE);
    }// end of clearFields() method

}// end of Checkerboard class

User is offlineProfile CardPM
+Quote Post

William_Wilson
RE: Loop Array Question
26 May, 2007 - 12:16 PM
Post #2

lost in compilation
Group Icon

Joined: 23 Dec, 2005
Posts: 4,101



Thanked: 25 times
Dream Kudos: 3275
Expert In: Java, C, Javascript

My Contributions
[start & start++] what is this?
do you mean: [start + start++]?

because what you have, doesn't mean anything.
User is offlineProfile CardPM
+Quote Post

dbrine
RE: Loop Array Question
26 May, 2007 - 12:18 PM
Post #3

New D.I.C Head
*

Joined: 25 Apr, 2007
Posts: 48


My Contributions
sorry about that. I can't it but still get the same error.



QUOTE(William_Wilson @ 26 May, 2007 - 01:16 PM) *

[start & start++] what is this?
do you mean: [start + start++]?

because what you have, doesn't mean anything.


User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 1/7/09 09:06PM

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter

Live Java Help!

Java Tutorials

Reference Sheets

Java Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month