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); } }