Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | "Dr.UgoGagliardelli" <do.not.spam@me.please> |
|---|---|
| Newsgroups | it.comp.java |
| Subject | Re: da package a jframe |
| Date | 2015-10-26 09:24 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <n0ko0u$l24$1@speranza.aioe.org> (permalink) |
| References | (6 earlier) <mvtna8$dah$1@speranza.aioe.org> <n04orm$3jh$1@speranza.aioe.org> <n06f0v$arm$1@speranza.aioe.org> <n06oid$rdq$1@speranza.aioe.org> <n0jk4g$ncn$1@speranza.aioe.org> |
Il 25.10.2015 23.09, Gulp® ha scritto:
> Il 21/10/15 03:08, Dr.UgoGagliardelli ha scritto:
>> Questa sinceramente non l'ho capita per niente.
>>
>> L'hai gia' detto qualche altra volta, ma non ci ho fatto caso: cosa
>> intendi per "trovandomi in un package"?
>
> Probabilmente è un modo di pensare che mi porto dal basic, li se scrivo
> in un modulo pippo.bas, riesco a "vedere" e richiamare le altre
> procedure quando sono dichiarate Public anche senza fare import pippo.bas
>
>> E "Mica posso importare MENU!" secondo il tuo modo di vedere cosa
>> significa?
>
> Per poter utilizzare (vedere) delle classi dichiarate nei package devo
> fare un import:
>
> import pubblico.Ini; //è una classe con cui scrivo e leggo un file .ini
> import pubblico.Uty; // sono varie utility che richiamo al bisogno.
>
> Se sto scrivendo del codice dentro una classe KeyTab che si trova in un
> package che ho chiamato pubblico, la scrittura:
>
> Frame fm= new MENU();
> fm.setVisible(true);
>
> mi da errore: cannot find symbol, symbol: class MENU, location class KeyTab
>
> Eppure la class MENU è dichiarata public:
> public class MENU extends javax.swing.JFrame {
>
> e, come dicevo, non posso fare import.
> la class MENU è main class dell'applicazione.
>
> Dopo aver letto il tuo post, avevo pensato di arrivarci a ritroso:
> Container c=f.getParent();
> Component p[]=c.getComponents();
> f.dispose();
> //ciclo p in cerca del form MENU
> for( Component fs : p ) {
> if (fs.getName().equals("MENU")){
> fs.setVisible(true);
> break;
> }
> ...
> ma non è corretto. Ho controllato, quell'array è in realtà vuoto.
>
Intanto, se precedentemente la proprieta' name di fs non e' stata
impostata a qualcosa diverso da null tramite il metodo setName,
fs.getName() ritorna null, quindi fs.getName().equals("MENU") da'
NullPointerException perche' non puoi mai chiamare un metodo d'istanza
su un oggetto null. Per evitare il NullPointerException dovresti
invertire il test, ovvero "MENU".equals(fs.getName()), in modo se
fs.getName() e' null il test ritorna false.
Inoltre, per risalire la catena dei parent dovresti chiamare getParent()
ricorsivamente, ad esempio:
Container c=f.getParent();
Component menu = null;
while (c != null && menu == null) {
Component p[]=c.getComponents();
for( Component fs : p )
if ("MENU".equals(fs.getName()))
menu = fs;
c = c.getParent();
}
if (menu != null)
menu.setVisible(true);
che direi che sia piu' o meno la stessa cosa che fa
SwingUtilities.getWindowAncestor con la differenza che cerca un
Container istanza di Window.
Back to it.comp.java | Previous | Next — Previous in thread | Next in thread | Find similar
da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-14 23:19 +0200
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-15 14:24 +0200
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-16 14:39 +0200
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-16 15:22 +0200
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-16 17:03 +0200
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-16 18:41 +0200
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-17 06:41 +0200
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-17 16:33 +0200
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-17 16:49 +0200
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-20 09:01 +0200
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-21 00:22 +0200
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-21 03:08 +0200
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-25 23:09 +0100
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-26 09:24 +0100
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-26 13:48 +0100
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-26 17:27 +0100
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-27 08:27 +0100
Re: da package a jframe Gulp® <gulp@hotmail.it> - 2015-10-27 09:28 +0100
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-27 09:59 +0100
Re: da package a jframe marco <nospam@nospam.it> - 2015-10-27 11:47 +0100
Re: da package a jframe "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2015-10-27 13:22 +0100
Re: da package a jframe marco <nospam@nospam.it> - 2015-10-27 15:19 +0100
csiph-web