|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Registered User
Iscritto dal: Mar 2011
Messaggi: 7
|
[Java]Metodo main non trovato nella class RectangleComponent
Ciao a tutti,
Praticamente ho scritto nel codice sorgente una classe :"RectangleComponent" tramite cui disegnare 2 rettangoli utilizzando il metodo main(Graphics2D) g; e altri metodi della classe Graphics2D. Ora la questione è che riesco a compilarlo ma non a eseguirlo, infatti mi esce il seguente errore:"Metodo principale non trovato nella classe Rectangle Component.Definire il metodo principale come: public static void main (String[] args)". Il problema è che questo metodo non c'era nel codice sorgente e anche mettendolo mi restituisce lo stesso errore. Cosa potrebbe essere?? Grazie dell'aiuto. PS. Sono un novellino in questo campo come avrete sicuramente notato. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il metodo main che ti è richiesto serve per far capire al programma "java" (omonimo del linguaggio e della piattaforma ma è un pezzo a sè stante) da dove partire per eseguire un certo programma. Tu scrivi sulla console:
java Pippo e "java" (sempre il programma, chiamiamolo il lanciatore, via), crea la jvm e le dice di eseguire il metodo che si chiama public static void main(String[]) nella classe di nome Pippo. Ammesso che riesca a trovarlo, la jvm esegue il contenuto di quel metodo main e termina. Dunque se ho la classe: Codice:
public class Pippo {
}
Se la classe è: Codice:
public class Pippo {
public static void main(String[] args) {
}
}
Fatta questa premessa, se nonostante l'aggiunta di un metodo main compare comunque il messaggo "non riesco a trovare il main" c'è qualcosa che non va. Trovandoci di fronte ad un primo approccio io direi prima di tutto di controllare di aver ricompilato il file sorgente dopo l'aggiunta del metodo main.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#3 |
|
Registered User
Iscritto dal: Mar 2011
Messaggi: 7
|
Il codice l'ho preso da un manuale Java molto noto ed aggiornato, possibile che sia sbagliato? Codice: ![]() Grazie ancora. Ultima modifica di pentiumx84 : 18-03-2011 alle 23:40. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Così com'è il codice non è eseguibile.
In più è certamente parte di un esempio più ampio, altrimenti non avrebbe neanche senso. Per renderlo "eseguibile" bisognerebbe come minimo aggiungere quello che scrivo in verde: Codice:
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class RectangleComponent extends JComponent {
public void main(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
Rectangle box = new Rectangle(5, 10, 20, 30);
g2.draw(box);
box.translate(15, 25);
g2.draw(box);
}
@Override
protected void paintComponent(Graphics g) {
main(g);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
RectangleComponent component = new RectangleComponent();
JFrame window = new JFrame("RectangleComponent Test");
window.add(component);
window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
window.setSize(400, 400);
window.setVisible(true);
}
});
}
}
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:20.




















