Salve, la traccia dell'esercizio è questa: Scrivere un’applicazione che chieda all’utente di inserire
la base e l'altezza di un rettangolo in due campi di testo e al click del
mouse disegni un rettangolo con quelle dimensioni e con il vertice
nella posizione del puntatore del mouse.
Pensavo di riuscire a farlo senza problemi ma ogni volta' mi da errori al ClickListener.
Ditemi se ho sbagliato qualcosa nel codice:
codice:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class test
{
public static void main(String[] args)
{
int FINAL_TEXT=10;
ActionListener listener= new ClickListener();
JLabel label= new JLabel("Inserisci la lunghezza della base del rettangolo: ");
JTextField textbase= new JTextField(FINAL_TEXT);
JLabel label2= new JLabel("Inserisci la lunghezza dell'altezza del rettangolo");
JTextField textaltezza= new JTextField(FINAL_TEXT);
JFrame frame= new JFrame();
JButton button= new JButton("Invio");
button.addActionListener(listener);
frame.setSize(300,400);
JPanel panel= new JPanel();
panel.add(label);
panel.add(textbase);
panel.add(label2);
panel.add(textaltezza);
panel.add(button);
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
class ClickListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
JFrame frame2= new JFrame();
frame2.setSize(600, 800);
frame2.addMouseListener(new MouseListener()
{
private Graphics2D g2;
public void mousePressed(MouseEvent event)
{
int base;
int altezza;
base=Integer.parseInt(textbase.getText());
altezza=Integer.parseInt(textaltezza.getText());
int x = event.getX();
int y = event.getY();
Rectangle box= new Rectangle(x, y, base, altezza);
Graphics g = null;
g2 = (Graphics2D) g;
g2.draw(box);
}
//Metodi nulli
public void mouseReleased(MouseEvent event) {}
public void mouseClicked(MouseEvent event) {}
public void mouseEntered(MouseEvent event) {}
public void mouseExited(MouseEvent event) {}
}
);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.setVisible(true);
}
}
}
}
Vi ringrazio anticipatamente. Ps: sono nuovo ma non ho trovato da nessuna parte una discussione per le presentazioni e nessuna discussione in cui l'esercizio fosse molto simile al mio, se una delle due esiste mi scuso anticipatamente.