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


Groups > it.comp.java > #8728

Re: da package a jframe

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>

Show all headers | View raw


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 | 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