Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di tridi9
    Registrato dal
    Apr 2002
    Messaggi
    346

    Java. Come far capire ad un pannello in quale Frame risiede

    La mia domanda potrebbe risultare banale, ma per me che sono alle prime armi con Java risulta un grattacapo.

    Ho pensato ad un esercizio :

    Cambiare il titolo di un JFrame al click di un pulsante.



    public static void main(String[] args)
    {
    ButtonFrame frame = new ButtonFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
    frame.show();
    }
    }//creo la classe per il frame :
    public ButtonFrame()
    {

    setTitle("");
    setSize(WIDTH, HEIGHT);

    // aggiungo panel al frame

    PannelloTitoli panel = new PannelloTitoli(/*Se uso this.getName() passo frame */);
    Container contentPane = getContentPane();
    contentPane.add(panel);
    }

    public static final int WIDTH = 300;
    public static final int HEIGHT = 200;

    }

    //creo il pannello
    class PannelloTitoli extends JPanel implements ActionListener
    {
    public void actionPerformed(ActionEvent event)
    {
    // this.setBackground(Color.yellow);

    this.mCambiaTitolo("Ciao");
    }
    public void mCambiaTitolo(String nomec2)
    {
    // myObj = new Object();
    Object myObj = (Object)nomec2;
    ButtonFrame myObj2 = (ButtonFrame)myObj;
    myObj2.setTitle("Titolo");

    }
    public PannelloTitoli(Object whatframe)
    {
    String nomeclasse = new String(whatframe.toString());
    JButton titolouno = new JButton("Titolo 1");
    JButton titolodue = new JButton("Titolo 2");
    JButton titolotre = new JButton("Titolo 3");
    //aggiundo i pulsanti appena creati
    add(titolouno);
    add(titolodue);
    add(titolotre);


    /**Associo i bottoni al pannello (this) */
    titolouno.addActionListener(this);
    titolodue.addActionListener(this);
    titolotre.addActionListener(this);

    //private String nomeclasse;

    }




    // Non riesco a passare ed agire sul frame in cui risede il pannello
    // Come faccio a passare alle classe che fa sia da pannello che
    // da rilevatore il frame in cui risede ??

    ........‘’’........
    .......(o o).......
    ----ooO-(_)-Ooo----

  2. #2
    Risali la catena dei parent sinchè non incontri un JFrame.
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  3. #3
    Utente di HTML.it L'avatar di tridi9
    Registrato dal
    Apr 2002
    Messaggi
    346
    Come faccio ad agire sui Parent ?

    ........‘’’........
    .......(o o).......
    ----ooO-(_)-Ooo----

  4. #4
    Utente di HTML.it L'avatar di tridi9
    Registrato dal
    Apr 2002
    Messaggi
    346
    Non riesco usando ad esempio "this"

    ........‘’’........
    .......(o o).......
    ----ooO-(_)-Ooo----

  5. #5
    Io ti ho detto il metodo per risolvere il tuo problema. Se leggi la documentazione delle API del JComponent saprai anche che metodi invocare. Bye bye.
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  6. #6
    Utente di HTML.it L'avatar di tridi9
    Registrato dal
    Apr 2002
    Messaggi
    346
    Originariamente inviato da Dwenegar
    Io ti ho detto il metodo per risolvere il tuo problema. Se leggi la documentazione delle API del JComponent saprai anche che metodi invocare. Bye bye.
    Ok, così c'è anche più gusto.Ti farò sapere.
    Danke Dwenegar !

    ........‘’’........
    .......(o o).......
    ----ooO-(_)-Ooo----

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.