Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Realizzazione toolbar

  1. #1

    Realizzazione toolbar

    salve a tutti,
    sto cercando di realizzare una toolbar ed ho scritto questa classe ma non mi funziona...

    toolBar.java
    codice:
    import java.awt.*;
    import javax.swing.*;
    
    public class toolBar extends JPanel
    {
    
        /**
        * Constructor for objects of class toolBar
        */
        public toolBar()
        {
            myActionListener ascoltatore = new myActionListener();
    
            //pulsante Inserimento
            JButton inserimento = new JButton("Inserimento");
            inserimento.setToolTipText("Nuovo inserimento");
            //inserimento.setIcon(new ImageIcon("/Images/Add24.gif"));
            inserimento.addActionListener(ascoltatore);
            inserimento.setActionCommand("inserimento");
    
            //pulsante Modifica
            JButton modifica = new JButton("Modifica");
            modifica.setToolTipText("Modifica selezionato");
            //modifica.setIcon(new ImageIcon("/Images/Edit24.gif"));
            modifica.addActionListener(ascoltatore);
            modifica.setActionCommand("modifica");
    
            //pulsante Ricerca
            JButton ricerca = new JButton("Ricerca");
            ricerca.setToolTipText("Esegui ricerca");
            //ricerca.setIcon(new ImageIcon("/Images/Find24.gif"));
            ricerca.addActionListener(ascoltatore);
            ricerca.setActionCommand("ricerca");
    
            //pulsante Elimina
            JButton elimina = new JButton("Elimina");
            elimina.setToolTipText("Elimina selezionato");
            //elimina.setIcon(new ImageIcon("/Images/Delete24.gif"));
            elimina.addActionListener(ascoltatore);
            elimina.setActionCommand("elimina");
    
            //pulsante Esci
            JButton esci = new JButton("Esci");
            esci.setToolTipText("Esci dal programma");
            //esci.setIcon(new ImageIcon("/Images/Import24.gif"));
            esci.addActionListener(ascoltatore);
            esci.setActionCommand("esci");
    
            //creazione pannello
            JPanel contenitorePulsanti = new JPanel();
            contenitorePulsanti.setPreferredSize(new Dimension(800, 70));
            contenitorePulsanti.setLayout(new GridLayout(1, 5));
            contenitorePulsanti.add(inserimento);
            contenitorePulsanti.add(modifica);
            contenitorePulsanti.add(ricerca);
            contenitorePulsanti.add(elimina);
            contenitorePulsanti.add(esci);
    
        }
    
    }
    e poi la richiamo con la classe che contiene il main
    codice:
    import java.awt.*;
    import javax.swing.*;
    
    public class main
    {
        public static void main(String args[])
        {
            JFrame frame = new JFrame("Progetto1");
            frame.setLayout(new BorderLayout());
            toolBar pulsanti = new toolBar();
            frame.setPreferredSize(new Dimension(1000,300));
            frame.add("North",pulsanti);
            frame.pack();
            frame.setVisible(true);
    
        }
    }
    ma quando lancio l'applicazione mi visualizza soltanto un form di dimensioni 1000x300 vuoto...

    come mai?

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    "toolBar" rappresenta già da sè un JPanel , quindi l'utilità di "contenitorePulsanti" nel suo costruttore non ha senso , invoca i metodi direttamente sull'istanza di toolBar , cioè modifica il codice nel seguente modo:

    codice:
    import java.awt.*;
    import javax.swing.*;
    
    public class toolBar extends JPanel
    {
    
        /**
        * Constructor for objects of class toolBar
        */
        public toolBar()
        {
            myActionListener ascoltatore = new myActionListener();
    
            //pulsante Inserimento
            JButton inserimento = new JButton("Inserimento");
            inserimento.setToolTipText("Nuovo inserimento");
            //inserimento.setIcon(new ImageIcon("/Images/Add24.gif"));
            inserimento.addActionListener(ascoltatore);
            inserimento.setActionCommand("inserimento");
    
            //pulsante Modifica
            JButton modifica = new JButton("Modifica");
            modifica.setToolTipText("Modifica selezionato");
            //modifica.setIcon(new ImageIcon("/Images/Edit24.gif"));
            modifica.addActionListener(ascoltatore);
            modifica.setActionCommand("modifica");
    
            //pulsante Ricerca
            JButton ricerca = new JButton("Ricerca");
            ricerca.setToolTipText("Esegui ricerca");
            //ricerca.setIcon(new ImageIcon("/Images/Find24.gif"));
            ricerca.addActionListener(ascoltatore);
            ricerca.setActionCommand("ricerca");
    
            //pulsante Elimina
            JButton elimina = new JButton("Elimina");
            elimina.setToolTipText("Elimina selezionato");
            //elimina.setIcon(new ImageIcon("/Images/Delete24.gif"));
            elimina.addActionListener(ascoltatore);
            elimina.setActionCommand("elimina");
    
            //pulsante Esci
            JButton esci = new JButton("Esci");
            esci.setToolTipText("Esci dal programma");
            //esci.setIcon(new ImageIcon("/Images/Import24.gif"));
            esci.addActionListener(ascoltatore);
            esci.setActionCommand("esci");
    
            //settaggio pannello
            setPreferredSize(new Dimension(800, 70));
            setLayout(new GridLayout(1, 5));
            add(inserimento);
            add(modifica);
            add(ricerca);
            add(elimina);
            add(esci);
    
        }
    
    }


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Non capisco perchè realizzare una toolbar quando esiste JToolBar.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Usare API e consultare "The Swing Tutorial"

    http://docs.oracle.com/javase/tutori...ng/index.html.

    Stai facendo un sacco di lavoro inutile, nonché errato. Esiste già un qualcosa tipo "toolbar":
    http://docs.oracle.com/javase/tutori...s/toolbar.html

    quindi non c'è alcuna necessità di reinventare la ruota. Poi se anche si volesse reinventarla, almeno facciamolo correttamente:
    codice:
    JFrame frame = new JFrame("Progetto1");
    frame.setLayout(new BorderLayout());
    toolBar pulsanti = new toolBar();
    frame.setPreferredSize(new Dimension(1000,300));
    
    // non vuol dire niente: anzi non dovrebbe nemmeno compilare
    // frame.add("North",pulsanti);
    
    // modo corretto (leggi api)
    frame.getContentPane().add(toolbar, BorderLayout.NORTH);
    
    // modo ancora più corretto: segui Swing Tutorial, e setta una Toolbar per il tuo componente/contenitore.
    ...
    EDIT: tra l'altro perché discussione doppia?
    http://forum.html.it/forum/showthrea...readid=1523453
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,325

    Moderazione

    Ho unito le due discussioni.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.