PDA

View Full Version : [JAVA] Problema strano con IDE


Jim Fox
20-09-2008, 17:22
E' già la seconda volta che mi succede e nn riesco a capire il motivo. Vi spiego...

Generalmente uso come IDE JCreator e devo dire che mi ci trovo proprio bene. Però succede che nel momento in cui vado a compilare il mio progetto, mi da un errore strano sul main, mentre copiando lo stesso progetto su JBuilder, funziona tutto correttamente.

Sotto vi riporto il programma incriminato, dove devo creare due quadrati colorati e visualizzarli in un frame, usando due classi, una "TwoSquareViewer" e una "TwoSquareComponent". Eccolo:

file TwoSquareComponent
import java.awt.Rectangle;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Color;
import java.awt.*;
import javax.swing.JComponent;

public class TwoSquareComponent extends JComponent
{
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g; // recupero Graphics2D
Rectangle box1 = new Rectangle(10, 10, 100, 100); // creo il primo quadrato
Rectangle box2 = new Rectangle(50, 50, 100, 100); // creo il secondo quadrato

g2.setColor(Color.PINK);
g2.fill(box1);

g2.setColor(Color.BLUE);
g2.fill(box2);
}
}

file TwoSquareViewer
import javax.swing.JFrame;

public class TwoSquareViewer
{
public static void main(String[] args)
{
JFrame frame = new JFrame();

frame.setSize(600, 800);
frame.setTitle("DUE QUADRATI COLORATI");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

TwoSquareComponent component = new TwoSquareComponent();
frame.add(component);

frame.setVisible(true);
}
}

Come dicevo, su JBuilder funziona correttamente, mentre su JCreator, durante la compilazione, mi da il seguente errore:
java.lang.NoClassDefFoundError: DueQuadrati
Caused by: java.lang.ClassNotFoundException: DueQuadrati
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: DueQuadrati. Program will exit.
Exception in thread "main"

Per quale motivo, secondo voi? :(

agente mm8
20-09-2008, 17:47
Da quel che leggo non trova la classe DueQuadrati con il main.
Credo proprio che tu abbia settato, quando hai creato il progetto, DueQuadrati come classe contente il main, mentre tu il main lo hai messo nella classe TwoSquareViewer.
Cambia il nome della classe TwoSquareViewer in DueQuadrati e... fammi sapere!:D :D :D

Jim Fox
20-09-2008, 18:45
E' vero, hai ragione :D ... Ora funziona anche di la.

Grazie mille ;)

agente mm8
20-09-2008, 21:18
Non ho capito:confused:
Puoi spiegarti meglio, per favore?

Jim Fox
21-09-2008, 02:15
...

agente mm8
21-09-2008, 10:53
Dov' è finito il tuo messaggio?
Perché in JBuilder non riesco ad avere lo stesso comlpetamento che c'è in JCreator? O una cosa del genere.
Ho le allucinazioni???:eek: :confused: :eek:

Jim Fox
22-09-2008, 01:30
Dov' è finito il tuo messaggio?
O una cosa del genere.
Ho le allucinazioni???:eek: :confused: :eek:
Scusami, ma l'ho tolto perché credo di aver risolto. Cmq lo rispiego in breve, così magari qualcuno può darmi una sua considerazione.

Quello che chiedevo era l'autocompletamento del codice, cioè mentre lo scrivo, il programma "suggerisce" come completarlo. Per es. import java.--> a questo punto si apre una finestra con tutti le classi che si possono inserire.

Io sto utilizzando come IDE sia JCreator che JBuilder, per decidere quali tra i due adottare definitivamente.

Con JCreator Pro, mi trovo molto bene, proprio grazie a questo aiuto del sistema, mentre con la versione JCreator LE (free) nn c'è.

In JBuilder invece (scelto tra i tanti perché basato su Eclipse), per far aprire i suggerimenti bisogna premere ctrl+space

La mia domanda, era se in JBuilder si poteva eventualmente far comparire questi suggerimenti senza premere alcun tasto, proprio come accade in JCreator Pro :D

Scusa ancora x il testo editato nel messaggio precedente.

agente mm8
22-09-2008, 11:25
Ah, ok. Non conosco jBuilder non so cosa risponderti. Posso dirti solo di googlare un pò.