Menu

Mostra messaggi

Questa sezione ti permette di visualizzare tutti i messaggi inviati da questo utente. Nota: puoi vedere solo i messaggi inviati nelle aree dove hai l'accesso.

Mostra messaggi Menu

Discussioni - JCreator87

#1
Programmazione / Sto impazzendo con Java!!!
12 Giugno 2009, 11:57:50
Ciao a tutti, sono uno studente di ingegneria edile alle prese con un programma
d'esame in java.
Il problema che ho ora è la creazione di un oggetto (un'ellisse), la cui
dimensione Y è da stabilire in input dall'utente: tramite textField l'utente
inserisce il valore, viene trasformato da stringa ad intero (per mezzo del
listener) ed assegnato alla variabile h (q deriva da h): ora, il valore viene
accettato e trasformato, ma non mi viene disegnata l'ellisse. Allego parte del
listato, sperando che qualcuno mi spieghi l'errore che ho commesso... grazie in
anticipo....

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

public class shootingPanel extends JPanel{
   private Ellipse2D.Double hill;
   private JButton ok;
       private JTextField alt;
       private JLabel labelH;
       public int h;
       public int q;

   public shootingPanel(){
      this.setBackground(Color.CYAN);
      
      JPanel nord=new JPanel();
      nord.setPreferredSize(new Dimension(1000,100));
      nord.setBackground(Color.RED);
      this.add(nord);
      
      labelH=new JLabel("altezza della collina: " ;);
      nord.add(labelH);
      alt=new JTextField();
      nord.add(alt);
      alt.setPreferredSize(new Dimension(50,25));
      
      ok=new JButton("ok!" ;);
      nord.add(ok);
      
      nord.setVisible(true);
      
      class ListenerHill implements ActionListener {   
             public void actionPerformed(ActionEvent e){
                try {
                h=Integer.parseInt(alt.getText());
                q=550-h;
                System.out.println(h);
                System.out.println(q);                
                }
                catch(NumberFormatException g) {
                   ErrorFrame1 msg1=new ErrorFrame1();
                   msg1.setVisible(true);
                }
                
             }
      }
      ListenerHill l=new ListenerHill();
      ok.addActionListener(l);
      
      hill=new Ellipse2D.Double(350,q,300,h);
   }
       
       public void paintComponent(Graphics g){
             Graphics2D g2 = (Graphics2D)g;
             g2.setColor(Color.GREEN);
         g2.fill(hill);

      }
   
}