Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.java > #8711

Re: da package a jframe

Path csiph.com!news.mixmin.net!aioe.org!.POSTED!not-for-mail
From "Dr.UgoGagliardelli" <do.not.spam@me.please>
Newsgroups it.comp.java
Subject Re: da package a jframe
Date Wed, 21 Oct 2015 03:08:24 +0200
Organization Aioe.org NNTP Server
Lines 63
Message-ID <n06oid$rdq$1@speranza.aioe.org> (permalink)
References <mvmh3d$kir$1@speranza.aioe.org> <mvo5t7$l1$1@speranza.aioe.org> <mvqtto$udl$1@speranza.aioe.org> <mvr3kr$cak$1@speranza.aioe.org> <mvr9gj$q2l$1@speranza.aioe.org> <mvsjht$t7p$1@speranza.aioe.org> <mvtna8$dah$1@speranza.aioe.org> <n04orm$3jh$1@speranza.aioe.org> <n06f0v$arm$1@speranza.aioe.org>
NNTP-Posting-Host +3z0s+YzjUgNSOnfi6TODw.user.speranza.aioe.org
Mime-Version 1.0
Content-Type text/plain; charset=iso-8859-15; format=flowed
Content-Transfer-Encoding 8bit
X-Complaints-To abuse@aioe.org
User-Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
X-Notice Filtered by postfilter v. 0.8.2
Xref csiph.com it.comp.java:8711

Show key headers only | View raw


Il 21.10.2015 00.22, Gulp® ha scritto:
> Il 20/10/15 09:01, Dr.UgoGagliardelli ha scritto:
>
> Siiiiiiiiiiiiiii. Questa non dà errori e funziona!
>
> Frame f= (Frame) SwingUtilities.getWindowAncestor(evt.getComponent());
> f.dispose();
>
> e chiude l'unico form aperto.Ora volendo di seguito aprire il JavaForm
> Menu dell'applicazione, come scrivo l'istanza alla classe trovandomi in
> un package? Mica posso importare MENU!
> Questo non lo posso scrivere:Frame fm=  new MENU();
> perchè chiaramente non lo trova.
> Questo: SwingUtilities.getAncestorNamed("MENU", f);
> Mi da un bel NullPointerException
>
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"?

E "Mica posso importare MENU!" secondo il tuo modo di vedere cosa significa?

Frame fm=  new MENU();
potresti anche scriverlo, dipendentemente da com'e' fatta la classe 
MENU. Se ad esempio:

public class MENU extends Frame { ....

allora sarebbe sarebbe perfettamente legale, ma non credo che sia questo 
il tuo dilemma.
Di sicuro puoi scrivere MENU fm = new MENU(); e se MENU e' quel 
"JavaForm Menu" ( di cui ignoro il significato), allora probabilmente 
fm.setVisible(true); lo fara' magicamente comparire. Ma se quello e' 
effettivamnete il menu dell'applicazione, sarebbe forse conveniente 
tenerti a disposizione la sua istanza (cioe' la variabile fm) in modo 
che in un solo colpo fai sparire la Frame e fai riapparire il menu.

(intanto complimenti che ti sei andato a cercare il metodo 
getAncestorNamed alla facciaccia di chi dice che non ti arrabatti!)
SwingUtilities.getAncestorNamed("MENU", f);  non funziona per due 
diversi motivi. Il NullPointerException te lo da perche' probabilmente f 
e' null. Se hai appena fatto f.dispose() e' possibile che f sia ormai un 
oggetto dimenicato. Inoltre non credo che "MENU" sia il nome di qualche 
Component, sempre che non glielo abbia imposto tu.

Devi sapere che tutti le classi che derivano da java.awt.Component 
ereditano un sacco di metodi, tra cui getName e setName. Questi metodi 
agiscono sulla proprieta "String name", che di per se non serve a nulla 
se non per assegnare un nome riconoscibile, in pratica e' di ausilio al 
programmatore per riconoscere gli oggetti per nome. Venendo al metodo 
getAncestorNamed, il "name" che cerca e' proprio quello, ovvero cerca un 
Component (nella fattispecie un Container) per cui 
getName().equals("MENU"). Ancestor ha un significato ben preciso. I 
Component e derivati, hanno il metodo "Container getParent()", parent in 
inglese significa genitore, qui utilizzato con accezione se vuoi 
impropria, che indica colui che contiene. Poiche' anche i Container, che 
a loro volta sono dei Component, possono avere il proprio parent, in una 
catena di "matrioske" senza limiti, ecco che ancestor, che propriamente 
significa antenato, e' una delle matrioske piu' esterne.

Vabbe', adesso vado a letto a vedere se riesco a dormire un po'. (che 
qui ci vorresti tu che sono insonne)

Back to it.comp.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

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