Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Paint with Dots For Lab 2, you're modifying the Dots and DotsPanel classes from your text to make a simple Paint program. Modify the program

Paint with Dots

For Lab 2, you're modifying the Dots and DotsPanel classes from your text to make a simple Paint program. Modify the program to

Paint with continuous dots by adding a MouseMotionListener that adds points to the pointsList when the mouseDragged event is triggered.

Add some color to the dots by changing the page.setColor(...). A hint is given below.

/* HINTS: For random-colored dots, generate three random numbers R, G, and B between 0 and 1.0 (or 0 and 255 integer) and use:

page.setColor(new Color(R,G,B)); //before drawing each dot, individually 

For something more fluid, use a counter/iterator variable, and change the color based on that iterator, multiplying or adding it and modding by 256 (for each Red, Green, Blue component):

page.setColor(new Color(i%255, (i*2)%255, (i+128)%255); // really slick :) - play with multiples/adds */ 

DotsPanel.java

//DotsPanel.java

//Michael Dimond Jr

//CSCI 1302

//Lab #2

//9/3/2017

import java.util.ArrayList;

import javax.swing.JPanel;

import java.awt.*;

import java.awt.event.*;

public class DotsPanel extends JPanel

{

private final int SIZE = 6; // radius of each dot

private ArrayList pointList;

//-----------------------------------------------------------------

// Constructor: Sets up this panel to listen for mouse events.

//-----------------------------------------------------------------

public DotsPanel()

{

pointList = new ArrayList();

addMouseListener (new DotsListener());

setBackground(Color.black);

setPreferredSize(new Dimension(300, 200));

}

private void setColor(Color color) {

}

//-----------------------------------------------------------------

// Draws all of the dots stored in the list.

//-----------------------------------------------------------------

public void paintComponent(Graphics page)

{

super.paintComponent(page);

Color color = new Color(randomNum.nextInt(256), randomNum.nextInt(256), randomNum.nextInt(256);

page.setColor(color);

for (Point spot : pointList)

page.fillOval(spot.x-SIZE, spot.y-SIZE, SIZE*2, SIZE*2);

page.drawString("Count: " + pointList.size(), 5, 15);

}

//*****************************************************************

// Represents the listener for mouse events.

//*****************************************************************

private class DotsListener implements MouseListener

{

//--------------------------------------------------------------

// Adds the current point to the list of points and redraws

// the panel whenever the mouse button is pressed.

//--------------------------------------------------------------

public void mousePressed(MouseEvent event)

{

pointList.add(event.getPoint());

repaint();

}

//--------------------------------------------------------------

// Provide empty definitions for unused event methods.

//--------------------------------------------------------------

public void mouseClicked(MouseEvent event) {}

public void mouseReleased(MouseEvent event) {}

public void mouseEntered(MouseEvent event) {}

public void mouseExited(MouseEvent event) {}

}

}

-------------------------------------

I am stuck on trying to get the dots to generate a random color. Thanks for your help.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Flash XML Applications Use AS2 And AS3 To Create Photo Galleries Menus And Databases

Authors: Joachim Schnier

1st Edition

0240809173, 978-0240809175

More Books

Students also viewed these Databases questions

Question

6. Testing equipment that will be used in instruction.

Answered: 1 week ago