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