Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 40
  1. #1

    mantenere i frame di uno stesso programma su un unica application bar

    buongiorno....ho un quesito un po strano,
    sostanzialmente ho un interfaccia grafica java che da un frame ne apre n....ora io vorrei far si che aprendone n tutto rimanga sulla stessa application bar e non che ne nascano n nuove....un po come gestisce le conversazioni msn per intenderci....è possibile farlo e come?...spero di essere stato chiaro grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: mantenere i frame di uno stesso programma su un unica application bar

    Originariamente inviato da ironcuzzo
    io vorrei far si che aprendone n tutto rimanga sulla stessa application bar e non che ne nascano n nuove
    Usa N JDialog (facendo in modo che non siano "modali").
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    scusa andrea tu sei bravo ma io no....dovresti essere un po più esplicito....e fare un esempio pratico....ti ringrazio

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class TestFrame extends JFrame
    {
        private JButton button;
    
        public TestFrame ()
        {
            super ("Test Frame");
    
            setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
            setSize (500, 400);
    
            button = new JButton ("Nuova dialog");
    
            button.addActionListener (new ActionListener ()
            {
                public void actionPerformed (ActionEvent e)
                {
                    JDialog d = new JDialog (TestFrame.this, "Prova");
                    d.setSize (300, 200);
                    d.setVisible (true);
                }
            });
    
            getContentPane().add (button, BorderLayout.SOUTH);
        }
    
        public static void main (String[] args)
        {
            SwingUtilities.invokeLater (new Runnable ()
            {
                public void run ()
                {
                    TestFrame f = new TestFrame ();
                    f.setVisible (true);
                }
            });
        }
    }
    Nota 2 cose:
    - Io ho istanziato direttamente un JDialog tanto per fare l'esempio. Se le tue dialog devono essere complesse o comunque contenere variabili varie di istanza, chiaramente devi fare tu una classe che estendere JDialog.
    - Nel mio esempio le dialog stanno sempre "sopra" (mai sotto) il frame principale perché gli ho passato un "owner", è quel TestFrame.this che è il reference al frame.
    Se vuoi che le dialog possano anche stare sotto, devi passare come owner: (Frame)null (sì, proprio con un cast per evitare ambiguità tra i costruttori).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    precisissimo...ma considera che io ho sempre il mio

    public void valueChanged(TreeSelectionEvent event)
    {
    try
    {
    String face = tree.getLastSelectedPathComponent().toString();
    Class cls = Class.forName(face);
    command.add(new JScrollPane((JComponent)cls.newInstance()));
    }catch(Exception e)

    {e.printStackTrace();}

    }

    che mi chiama altre classi che estendono Jframe.....ho dichiarato

    private JDialog command = new JDialog();

    ma non cambia la situazione

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da ironcuzzo
    ma considera che io ho sempre il mio

    public void valueChanged(TreeSelectionEvent event)
    {
    try
    {
    String face = tree.getLastSelectedPathComponent().toString();
    Class cls = Class.forName(face);
    command.add(new JScrollPane((JComponent)cls.newInstance()));
    }catch(Exception e)

    {e.printStackTrace();}

    }

    che mi chiama altre classi che estendono Jframe.....ho dichiarato
    Ah no alt ... aspetta. Ma è sempre per quella questione dei JInternalFrame???
    Che poi scusa ... lo noto adesso ... se command è un JDesktopPane, perché ci aggiungi un JScrollPane???

    E comunque cosa centrano JDesktopPane/JInternalFrame con la questione della icona nella taskbar?? Un JInternalFrame non è un frame "top level" quindi comunque non è visibile in taskbar!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    no aspetta....io ho deciso di non utilizzare più Jdesktoppane e Jinternalframe...voglio che mi vengano aperte finestre saparate....solo che le voglio riassunte in una.....quindi ho sempre il mio menu che apre le classi che derivano Jframe...che vengono chiamate da command....che è un Jframe....perchè quello che mi hai detto tu lo capisco è molto chiaro...solo che io ho sempre il problema della funzione che ti ho scritto sopra....i nodi dell'albero richiamano le classi che derivano JFrame

  8. #8
    voglio che mi vengano aperte finestre saparate....solo che le voglio riassunte in una icona taskbar

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da ironcuzzo
    io ho deciso di non utilizzare più Jdesktoppane e Jinternalframe...
    Ah ok.

    Originariamente inviato da ironcuzzo
    richiamano le classi che derivano JFrame
    È qui il punto. Non devono estendere JFrame ma JDialog. Se il fatto di estendere JDialog possa comportare altri problemi non lo so, in quanto non ho visione dei sorgenti di quelle tue classi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    non mi comporta problemi il fatto che derivino JDialog....è che ho provato e non va....sapresti spiegarmi perchè....tutto è corretto ma ogni classe che apro ha una propria icona taskbar

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.