import javax.swing.*; import java.awt.*; import java.util.LinkedList; class GraphPanel extends JPanel { private LinkedList sensorValues; public GraphPanel(LinkedList sensorValues) { this.sensorValues = sensorValues; } public void updateValues(LinkedList values) { this.sensorValues = values; repaint(); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); int xOffset = 50; int yOffset = 50; int xSpacing = (getWidth() - 2 * xOffset) / sensorValues.size(); g.setColor(Color.BLACK); g.drawLine(xOffset, getHeight() - yOffset, getWidth() - xOffset, getHeight() - yOffset); // X-axis g.drawLine(xOffset, getHeight() - yOffset, xOffset, yOffset); // Y-axis g.setColor(Color.BLUE); int prevX = xOffset; int prevY = getHeight() - yOffset - (sensorValues.get(0) * (getHeight() - 2 * yOffset) / 1000); for (int i = 1; i < sensorValues.size(); i++) { int value = sensorValues.get(i); int x = xOffset + i * xSpacing; int y = getHeight() - yOffset - (value * (getHeight() - 2 * yOffset) / 1000); // Scale for display g.drawLine(prevX, prevY, x, y); // Draw line between previous and current points prevX = x; prevY = y; } // Label the x-axis for (int i = 0; i < sensorValues.size(); i++) { int xLabel = xOffset + i * xSpacing; int yLabel = getHeight() - yOffset + 20; g.drawString(Integer.toString(i), xLabel, yLabel); } // Label the y-axis for (int i = 0; i <= 1000; i += 100) { int xLabel = xOffset - 30; int yLabel = getHeight() - yOffset - (i * (getHeight() - 2 * yOffset) / 1000); g.drawString(Integer.toString(i), xLabel, yLabel); } } update this code so that the y axis is labelled "sensor values" and x axis is labelled "time in seconds" }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%
import javax.swing.*;
import java.awt.*;
import java.util.LinkedList;

class GraphPanel extends JPanel {
private LinkedList<Integer> sensorValues;

public GraphPanel(LinkedList<Integer> sensorValues) {
this.sensorValues = sensorValues;
}

public void updateValues(LinkedList<Integer> values) {
this.sensorValues = values;
repaint();
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int xOffset = 50;
int yOffset = 50;
int xSpacing = (getWidth() - 2 * xOffset) / sensorValues.size();

g.setColor(Color.BLACK);
g.drawLine(xOffset, getHeight() - yOffset, getWidth() - xOffset, getHeight() - yOffset); // X-axis
g.drawLine(xOffset, getHeight() - yOffset, xOffset, yOffset); // Y-axis

g.setColor(Color.BLUE);
int prevX = xOffset;
int prevY = getHeight() - yOffset - (sensorValues.get(0) * (getHeight() - 2 * yOffset) / 1000);

for (int i = 1; i < sensorValues.size(); i++) {
int value = sensorValues.get(i);
int x = xOffset + i * xSpacing;
int y = getHeight() - yOffset - (value * (getHeight() - 2 * yOffset) / 1000); // Scale for display
g.drawLine(prevX, prevY, x, y); // Draw line between previous and current points
prevX = x;
prevY = y;
}

// Label the x-axis
for (int i = 0; i < sensorValues.size(); i++) {
int xLabel = xOffset + i * xSpacing;
int yLabel = getHeight() - yOffset + 20;
g.drawString(Integer.toString(i), xLabel, yLabel);
}

// Label the y-axis
for (int i = 0; i <= 1000; i += 100) {
int xLabel = xOffset - 30;
int yLabel = getHeight() - yOffset - (i * (getHeight() - 2 * yOffset) / 1000);
g.drawString(Integer.toString(i), xLabel, yLabel);
}
}
update this code so that the y axis is labelled "sensor values" and x axis is labelled "time in seconds"
}
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Avoiding deadlock
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education