The first one is answered as follows. Help with the second one.  package test; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class JavaApplication1 { public static void main(String[] arguments) { JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("print X and Y Coordinates"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); frame.setSize(500,400); final JTextField output = new JTextField();; frame.add(output,BorderLayout.SOUTH); frame.addMouseListener(new MouseListener() { public void mousePressed(MouseEvent me) { } public void mouseReleased(MouseEvent me) { } public void mouseEntered(MouseEvent me) { } public void mouseExited(MouseEvent me) { } public void mouseClicked(MouseEvent me) {

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

The first one is answered as follows. Help with the second one. 

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

public class JavaApplication1 {

public static void main(String[] arguments) {

JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("print X and Y Coordinates");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setLayout(new BorderLayout());
frame.setSize(500,400);

final JTextField output = new JTextField();;
frame.add(output,BorderLayout.SOUTH);

frame.addMouseListener(new MouseListener() {
public void mousePressed(MouseEvent me) { }
public void mouseReleased(MouseEvent me) { }
public void mouseEntered(MouseEvent me) { }
public void mouseExited(MouseEvent me) { }
public void mouseClicked(MouseEvent me) {
int x = me.getX();
int y = me.getY();
output.setText("Coordinate X:" + x + "|| Coordinate Y:" + y);
}
});

frame.setVisible(true);
}
}

Questions
1. Printing click coordinates. Build a custom subclass of JComponent which listens
for MouseEvents, after observing a click, it should just print the coordinates, as in
"Click detected at (X,Y)." (but with actual coordinates for X and Y). This means
your class should also implement the MouseListener interface, and register itself as
a listener in the constructor. Write a main method which creates a new JFrame and
adds an instance of your class to the frame. Name your custom class EventLabCanvas
(or anything else you prefer. You may want to refer to lecture code posted on May
30th to get started.
2. Drawing circles centered on clicks. Add code to make your canvas draw a small
filled circle on itself when it receives a mouseClicked event. The circle should be
centered on the location of the click. (Hint: use JComponent.getGraphics () and
Graphics.fil10val() in your implementation of the mouseClicked method.)
3. Connecting circles with lines. Modify your canvas so that it draws lines between
the centers of the circles as you create them. See Figure 1 for an example. Hint:
use instance variables to store most recent click coordinates (or MouseEvent) and
getGraphics () and Graphics.drawLine () to draw the line in mouseClicked)
Make circles draggable when placing them. Have your program draw small
filled circles as the mouse is dragged, and make the connecting line move too. Use
Graphics.setColor and set color to Color.WHITE to erase the previous graphic when
dragging. You will need to implement the MouseMotionListener interface, and to
call addMouseMotionListener as appropriate.
4.
Transcribed Image Text:Questions 1. Printing click coordinates. Build a custom subclass of JComponent which listens for MouseEvents, after observing a click, it should just print the coordinates, as in "Click detected at (X,Y)." (but with actual coordinates for X and Y). This means your class should also implement the MouseListener interface, and register itself as a listener in the constructor. Write a main method which creates a new JFrame and adds an instance of your class to the frame. Name your custom class EventLabCanvas (or anything else you prefer. You may want to refer to lecture code posted on May 30th to get started. 2. Drawing circles centered on clicks. Add code to make your canvas draw a small filled circle on itself when it receives a mouseClicked event. The circle should be centered on the location of the click. (Hint: use JComponent.getGraphics () and Graphics.fil10val() in your implementation of the mouseClicked method.) 3. Connecting circles with lines. Modify your canvas so that it draws lines between the centers of the circles as you create them. See Figure 1 for an example. Hint: use instance variables to store most recent click coordinates (or MouseEvent) and getGraphics () and Graphics.drawLine () to draw the line in mouseClicked) Make circles draggable when placing them. Have your program draw small filled circles as the mouse is dragged, and make the connecting line move too. Use Graphics.setColor and set color to Color.WHITE to erase the previous graphic when dragging. You will need to implement the MouseMotionListener interface, and to call addMouseMotionListener as appropriate. 4.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY