sono un principiante del linguaggio Java e di NetBeans.
Ho creato un nuovo progetto partendo dal codice generato
automaticamente dall'IDE.
Dopo ho aggiunto una JDialog chiamandola semplicemente Test.
La cosa strana è che all'interno dello stesso progetto, quando per
esempio voglio richiamare dal menu questa finestra scrivendo
testBox = new Test(mainFrame);
il nome della classe mi viene sottolineato in rosso e l'IDE mi indica
che c'è un errore del tipo
cannot find symbol
Non riesco a trovare la soluzione, qualcuno può aiutarmi?
Grazie
Biagio
1. Fai Rebuild All, se non funziona allora ...
2. Controlla gli "import" e informati sui packages, se non funziona
allora ...
3. Avvia il compilatore con F9 e leggi i messagi di errore e cerca di
capirci qualcosa, se non ci riesci ...
4. Posta il codice e messaggio errore
--
Andrea Francia
http://andreafrancia.blogspot.com/2008/07/colinux-linux-dentro-windows.html
Non so se ti seguo ma per me dire
> Dopo ho aggiunto una JDialog chiamandola semplicemente Test.
vuol dire che hai creato un oggetto di classe JDialog e hai chiamato
la reference Test, tipo dicendo
JDialog Test = new JDialog();
Mi auguro che non sia questo che intendi...
senno grazie al c.. che ..
> testBox = new Test(mainFrame);
>
> il nome della classe mi viene sottolineato in rosso e l'IDE mi indica
> cannot find symbol
Forse volevi dire che hia creato una classe Test che ESTENDE JDialog?
In quel caso in effetti la classe dovrebbe vedertela, forse puo' darsi
che non ci sia il COSTRUTTORE che tu stai cercando di invocare..
ps> non vorrei suonare pignolo, ma disabituati dall'inizio dal dare
nomi generici come Test alle tue classi.. facendo cosi' ti vai a
cercare lacrime e sangue..
- Nell'ambiente visuale ho cliccato con il tasto destro del mouse sul
mio progetto.
- Alla voce new ho selezionato una JDialog
- Ho assegnato al nuovo oggetto il nome ElencoSoci.Java .... il codice
generato in automatico è il seguente
package iride;
public class ElencoSoci extends javax.swing.JDialog {
/** Creates new form ElencoSoci */
public ElencoSoci(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
- nel menu ho aggiunto un menuitem per richiamare la dialog ElencoSoci
- per gestire l'evento ho inserito il seguente codice
private JDialog testBox;
......
@Action
public void ApriTest() {
if (testBox == null) {
JFrame mainFrame =
IrideApp.getApplication().getMainFrame();
testBox = new ElencoSoci(mainFrame);
testBox.setLocationRelativeTo(mainFrame);
}
IrideApp.getApplication().show(testBox);
}
Chiaramente mi segnala subito l'errore quando ho scritto
testBox = new ElencoSoci(mainFrame);
Compilando mi esce tutto questo:
init:
deps-jar:
Compiling 2 source files to C:\Documents and Settings\Notebook
\Documenti\NetBeansProjects\Iride\build\classes
C:\Documents and Settings\Notebook\Documenti\NetBeansProjects\Iride\src
\iride\IrideView.java:211: cannot find symbol
symbol : constructor ElencoSoci(javax.swing.JFrame)
location: class iride.ElencoSoci
testBox = new ElencoSoci(mainFrame);
1 error
BUILD FAILED (total time: 1 second)
Non capisco perchè non trova il costruttore !!!!!
Grazie a chi riesce a dirmi dove sbaglio
Biagio
Biagio
Semplice. perche' non c'e' .
Tu mi dirai ,ma cazzo c'e' si un costruttore nella classe
ElencoSoci...
e io ti diro'.. si caro mio ma non e' quello che stai invocando tu...
Quello che esiste nella classe prende DUE parametri
public ElencoSoci(java.awt.Frame parent, boolean modal)
quello che stai cercando di invocare te solo UNO
new ElencoSoci(mainFrame);
avendo diversa lista di parametri , pe ril compilatore quelli sono DUE
COSTRUTTORI DIVERSI.
Ora x risolvere basta che invochi
new ElencoSoci(mainFrame, true);
ma te lo sei studiato un po' Java base rima di avventurarti a fare
interfacce grafiche?
Da quando va di moda NetBeans la preparazione dei Javisti comincia ad
assomigliare orribilmente a quella dei dotnettisti,,,clicca qui,
clicca li.. wizardino li, wizardino la'...
Quando si posta il codice si capisce subito qual'è il problema...
Errore mio, si chiama Clean And Build.
Rebuild All è del Visual C++ 6.0
ora funziona tutto !!!!
Mi sono letto ben due manuali di Java ma chiaramente in poco tempo non
si assimila tutto quello che si legge.
Il fatto di provenire da un'altro linguaggio mi porta a dare per
scontato alcune cose. Un parametro in meno nell'altro linguaggio mi
veniva segnalato se era obbligatorio, oppure non dava errori se
prendeva un valore di default.
Ringrazio tutti per l'aiuto e vi chiedo di portare pazienza. Sono un
po' come i vecchi diesiel ... lenti a mettersi in moto ...ma poi
macinavano km e km.
Biagio
>
> avendo diversa lista di parametri , pe ril compilatore quelli sono DUE
> COSTRUTTORI DIVERSI.
> Ora x risolvere basta che invochi
> new ElencoSoci(mainFrame, true);
>
> ma te lo sei studiato un po' Java base rima di avventurarti a fare
> interfacce grafiche?
> Da quando va di moda NetBeans la preparazione dei Javisti comincia ad
> assomigliare orribilmente a quella dei dotnettisti,,,clicca qui,
> clicca li.. wizardino li, wizardino la'...- Nascondi testo citato
>
> - Mostra testo citato -
OK vai alla grande e in bocca al loop!
Apropos.. swing e' obsoleto, dai un occhio a JavaFX....
Questa non la sapevo!
Dove l'hai letto?
Beh letto da nessuna parte.. ma ho dato un occhiata alla tecnologia
eed effettivamente e' interessante.. poi di fatto si basa su swing..
solo che ha un modo piu' dichiarativo di creare GUI.. e'
effettivamente migliore come approccio ed e' la direzione in cui va
anche MS con xaml e WPF.
comincia da qui..
http://javafx.netbeans.org/