Consultare anche il PDF presente alla pagina https://liceocuneo.it/oddenino/informatica/java/interfacce-per-la-gestione-degli-eventi/
JGrafico
package grafico;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;
public class JGrafico extends JPanel implements MouseMotionListener {
String[] giorni = new String[7];
String[] temperature = new String[9];
public JGrafico() {
setBorder(new LineBorder(new Color(0, 0, 0), 2));
setForeground(Color.BLACK);
this.setPreferredSize(new Dimension(200, 200));
this.setBackground(Color.WHITE);
giorni[0] = "Sun";
giorni[1] = "Mon";
giorni[2] = "Tue";
giorni[3] = "Wed";
giorni[4] = "Thu";
giorni[5] = "Fri";
giorni[6] = "Sat";
temperature[0] = "40";
temperature[1] = "30";
temperature[2] = "20";
temperature[3] = "10";
temperature[4] = "0";
temperature[5] = "-10";
temperature[6] = "-20";
temperature[7] = "-30";
temperature[8] = "-40";
this.addMouseMotionListener(this);
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int w = this.getWidth(), h = this.getHeight();
g.drawLine(0, h / 2, w, h / 2);
int w7 = w / 7, w14 = w / 14, h2 = h / 2;
for (int i = 0; i < 7; i++) {
g.drawLine(w14 + i * w7, h2 - 10, w14 + i * w7, h2 + 10);
g.drawString(giorni[i], w14 + i * w7, h2 + 25);
}
int h10 = h / 10;
for (int i = 0; i < 9; i++) {
g.drawLine(0, h10 + i * h10, 10, h10 + i * h10);
// g.drawString(temperature[i], 10, h10+i*h10);
}
}
@Override
public void mouseDragged(MouseEvent arg0) {
}
@Override
public void mouseMoved(MouseEvent me) {
int x = me.getX();
int y = me.getY();
System.out.println(x+" "+y);
}
}