Avevo intenzione di scrivere un programma che permettesse di scegliere le coordinate x, y e il raggio di un cerchio che poi verra' disegnato nella finestra tramite un bottone.
Il problema e` il seguente :
- Codice: Seleziona tutto
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JApplet;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.geom.*;
public class CreaCerchio extends JFrame
{
private JLabel lx, ly, lr;
private JTextField coX, coY, raggio;
private JButton crea;
private Container bg;
private void PosizionaTutto ()
{
}//PosizionaTutto
private void AggiungiSfondo ()
{
bg.add(lx);
bg.add(ly);
bg.add(lr);
bg.add(coX);
bg.add(coY);
bg.add(raggio);
bg.add(crea);
}//AggiungiSfondo
public CreaCerchio ()
{
lx = new JLabel ("Inserisci X : ");
ly = new JLabel ("Inserisci Y : ");
lr = new JLabel ("Inserisci raggio : ");
coX = new JTextField ();
coY = new JTextField ();
raggio = new JTextField ();
bg = getContentPane();
bg.setLayout(null);
crea = new JButton ("Disegna!");
crea.addActionListener(new GestoreDisegna());
PosizionaTutto ();
AggiungiSfondo ();
}//CreaCerchio
class GestoreDisegna implements ActionListener
{
private void paint (Graphics g)
{
Graphics2D g2 = (Graphics2D)g;
double x = Double.parseDouble(coX.getText());
double y = Double.parseDouble(coY.getText());
double r = Double.parseDouble(raggio.getText());
Ellipse2D.Double cerchio = new Ellipse2D.Double(x,y,r,r);
g2.draw(cerchio);
}//paint
public void actionPerformed (ActionEvent e)
{
repaint();
}//actionPerformed
}//GestoreDisegna
}//CreaCerchio
e questo e` il test :
public class CerchioTest
{
public static void main (String[] args)
{
CreaCerchio c = new CreaCerchio();
}
}
Quando compilo va` tutto bene ma quando mando in esecuzione CerchioTest :
Exception in thread "main" java.lang.UnsupportedClassVersionError: CerchioTest (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Capisco da cosa possa dipendere, il programma mi sembra giusto. MI date una mano per favore?