Ho realizzato diverse form per gestire le varie tabelle di un mio database, vorrei richiamarle tramite un JMenu, ma purtroppo non risco ad associare alla voce del Menu il form
Ho realizzato diverse form per gestire le varie tabelle di un mio database, vorrei richiamarle tramite un JMenu, ma purtroppo non risco ad associare alla voce del Menu il form
Tralasciamo un momento NetBeans e vediamo la questione dal punto di vista di Swing. Come dico sempre, è bene vedere la questione in generale. Non uso e non conosco Eclipse/NetBeans e quindi non so dirti dove andare/cosa cliccare per fare un menù. Ma non ha importanza, bisogna prima capire cosa può fare Swing!Originariamente inviato da smok3
Ho realizzato diverse form per gestire le varie tabelle di un mio database, vorrei richiamarle tramite un JMenu, ma purtroppo non risco ad associare alla voce del Menu il form
I contenitori "top-level" come JApplet, JFrame, JDialog (anche JInternalFrame che non è "top-level") hanno il metodo:
public void setJMenuBar(JMenuBar menuBar)
Pertanto innanzitutto va creato un JMenuBar da assegnare con il metodo sopra alla finestra.
Ad un JMenuBar si possono aggiungere dei JMenu. Ad ogni JMenu si possono aggiungere dei JMenuItem che possono anche essere dei JCheckBoxMenuItem o JRadioButtonMenuItem o a sua volta dei JMenu.
Quindi si ha una cosa del tipo:
Ai JMenuItem in genere si applicano degli ActionListener per ascoltarne la selezione (ma si possono anche usare le Action).codice:JMenuBar menuBar = new JMenuBar(); JMenu menuFile = new JMenu ("File"); menuBar.add (menuFile); JMenuItem itemApri = new JMenuItem ("Apri"); menuFile.add (itemApri); tuoFrame.setJMenuBar (menuBar);
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Perfetto
ora come associo alla voce
"Form1" il metodo per aprire il relativo Form (che ovviamente risiede in un altra classe)
Codice PHP:
tuoMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
JFrame tuoFrame = new JFrame();
//se nel costruttore del tuo JFrame non c'è la chiamata a setVisible aggiungi:
//tuoFrame.setVisible(true);
}
});
Al mio segnale... scatenate l'inferno!
Originariamente inviato da R@ve M@ster
Codice PHP:
tuoMenuItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
JFrame tuoFrame = new JFrame();
//se nel costruttore del tuo JFrame non c'è la chiamata a setVisible aggiungi:
//tuoFrame.setVisible(true);
}
});
Ho lo stesso problema di smok3solo che scrivendo l'istruzione
Clienti.setJMenuItem(clienti);
e mi segnala errore in setJMenuItem, provando a mettere setJMenuBar mi scrive:
codice:method setJMenuBar in class javax.swing.JFrame cannot be applied to given types; required: javax.swing.JMenuBar found: javax.swing.JMenuItem reason: actual argument javax.swing.JMenuItem cannot be converted to javax.swing.JMenuBar by method invocation conversion
Riesci ad illuminarmi??![]()
Basta leggere l'errore.Originariamente inviato da Landi
Riesci ad illuminarmi??codice:method setJMenuBar in class javax.swing.JFrame cannot be applied to given types; required: javax.swing.JMenuBar found: javax.swing.JMenuItem reason: actual argument javax.swing.JMenuItem cannot be converted to javax.swing.JMenuBar by method invocation conversion
Il metodo setJMenuBar vuole che gli passi un oggetto di tipo JMenuBar e tu invece gli stai passando un oggetto di tipo JMenuItem. La soluzione? Passagli (banalmente) il tipo giusto! Senza vedere il tuo codice non si può dire altro...
edit: noto adesso, necroposting![]()
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
Avevo immaginato di risollverare una discussione un po' datataOriginariamente inviato da Alex'87
Basta leggere l'errore.
Il metodo setJMenuBar vuole che gli passi un oggetto di tipo JMenuBar e tu invece gli stai passando un oggetto di tipo JMenuItem. La soluzione? Passagli (banalmente) il tipo giusto! Senza vedere il tuo codice non si può dire altro...
edit: noto adesso, necroposting![]()
..chiedo scusa!
Comunque ho provato a passargli l'oggetto giusto ovvero la barra del menu che ho chiamato bar, ma non va in ogni caso e setJMenuItem non penso esista e anche se gli passo il tipo corretto segnala errore...
Grazie comunque!!![]()
Se non fai vedere cosa hai scritto non ti si può aiutare, non abbiamo la sfera di cristallo!Originariamente inviato da Landi
Avevo immaginato di risollverare una discussione un po' datata..chiedo scusa!
Comunque ho provato a passargli l'oggetto giusto ovvero la barra del menu che ho chiamato bar, ma non va in ogni caso e setJMenuItem non penso esista e anche se gli passo il tipo corretto segnala errore...
Grazie comunque!!![]()
setJMenuItem non esiste e non capisco da dove salti fuori, quando sei in dubbio dai una occhiata alla documentazione ufficiale Sun (Oracle).
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI
Sono giorni che leggo la documentazione nella speranza di capire qualcosa!Originariamente inviato da Alex'87
Se non fai vedere cosa hai scritto non ti si può aiutare, non abbiamo la sfera di cristallo!
setJMenuItem non esiste e non capisco da dove salti fuori, quando sei in dubbio dai una occhiata alla documentazione ufficiale Sun (Oracle).![]()
Comunque setJMenuItem era una mia "prova" avevo intuito che non esiste![]()
Siccome sto facendo uno stage e questa parte di programma non l'ho ancora affrontata a scuola, domani il capo ha detto che mi da qualche dritta (nonostante non sappia nulla di Java)