Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Ciao Luca, il codice che hai scritto può essere migliorato.. però non ti do la soluzione... fammi sapere

  2. #12
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    14
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Ciao Luca, il codice che hai scritto può essere migliorato.. però non ti do la soluzione... fammi sapere
    mmm puo essere sulla parte dell'arrey di stringhe?


    intanto che sto cercando di capire come migliorare quella parte sto andando anche avanti in contemporane nella parte grafica il problema è uno non riesco a capire come mai mi un errore

    questo è il codice:

    codice:
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.io.*;
    
    public class GestionaleGrafico extends JFrame{
        private JMenuBar barraDeiMenu;
        private JMenu menu1, menu2, menu3,menu4, menu5, menu6;
        private JMenuItem menuItem1, menuItem2, menuItem3, menuItem4,menuItem5,menuItem6,menuItem7,menuItem8,menuItem9,menuItem10,menuItem11,menuItem12,menuItem13;
    
    
        public GestionaleGrafico()
        {
        this.setTitle("Gestionale");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        Toolkit mioToolkit = Toolkit.getDefaultToolkit();
        Dimension dimensioniSchermo = mioToolkit.getScreenSize();
    
        int larghezzaFrame, altezzaFrame;
        larghezzaFrame = (int) (dimensioniSchermo.getWidth()/2);
        altezzaFrame = (int) (dimensioniSchermo.getHeight()/2);
    
        this.setSize(larghezzaFrame, altezzaFrame);
    
        // NOTA IMPORTANTE: l'origine del sistema di riferimento dello schermo (punto (0,0)) è situata IN ALTO A SINISTRA; valori y positivi 'scendendo', x positivi proseguendo 'verso destra'.
        this.setLocation(((int)dimensioniSchermo.getWidth()/4), ((int)dimensioniSchermo.getHeight()/4));
    
    
        // Credo ed aggiungo la barra del menù, alcuni menù e voci del menù di esempio
        barraDeiMenu = new JMenuBar();
    
        menu1 = new JMenu("File");
        menu2 = new JMenu("Finestra");
        menu3 = new JMenu("Catalogazione");
        menu4 = new JMenu("Riparazione");
        menu5 = new JMenu("Spedizione");
        menu6 = new JMenu("Aiuto");
    
        menu1.setMnemonic('f');
    
        menuItem1 = new JMenuItem("Apri");
        menuItem2 = new JMenuItem("Esci");
        //menuItem3 = new JMenuItem("Schermo intero");
        menuItem4 = new JMenuItem("?");
        
        menuItem5 = new JMenuItem("Gestione nuovo articolo");
        menuItem6 = new JMenuItem("Visualizzazione intera [Cat]");
        menuItem7 = new JMenuItem("Ricerca per Prodotto [Cat]");
        
        menu3.setMnemonic('c');
        
        menuItem8 = new JMenuItem("Gestione nuova Scheda");
        menuItem9 = new JMenuItem("Visualizzazione intera [Rip]");
        menuItem10 = new JMenuItem("Ricerca per Riparazione [Rip]");
        
        menu4.setMnemonic('r');
        
        menuItem11 = new JMenuItem("Visualizza Spedizione/Consegna");
        menuItem12 = new JMenuItem("Ricerca per Spedizione/consegna");
        menuItem13 = new JMenuItem("Verifica Pagamento");
        
        menu5.setMnemonic('s');
        
        menu1.add(menuItem1);
        menu1.add(menuItem2);
        menu2.add(menuItem3);
        menu3.add(menuItem5);
        menu3.add(menuItem6);
        menu3.add(menuItem7);
        menu4.add(menuItem8);
        menu4.add(menuItem9);
        menu4.add(menuItem10);
        menu5.add(menuItem11);
        menu5.add(menuItem12);
        menu5.add(menuItem13);
        menu6.add(menuItem4);
    
        barraDeiMenu.add(menu1);
        //barraDeiMenu.add(menu2);
        barraDeiMenu.add(menu3);
        barraDeiMenu.add(menu4);
        barraDeiMenu.add(menu5);
        barraDeiMenu.add(menu6);
    
        this.setJMenuBar(barraDeiMenu);
        }
    
        public static void main(String args[]){
            //creo il mbar menu
                GestionaleGrafico pm = new GestionaleGrafico();        
                pm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                //Imposto la dimensione della finestra
                pm.setSize(800,600); 
                Container pmContainerPane = pm.getContentPane();        
                pmContainerPane.add(new JLabel("Prova"));
                pm.setVisible(true);
        }
    }

    questo è l'errore
    codice:
    Exception in thread "main" java.lang.NullPointerException
        at java.awt.Container.addImpl(Container.java:1090)
        at java.awt.Container.add(Container.java:410)
        at javax.swing.JPopupMenu.add(JPopupMenu.java:284)
        at javax.swing.JMenu.add(JMenu.java:579)
        at GestionaleGrafico.<init>(GestionaleGrafico.java:76)
        at GestionaleGrafico.main(GestionaleGrafico.java:93)
    c'entra qualcosa che sto sviluppando sotto linux?
    Ultima modifica di luca120; 10-07-2014 a 23:32

  3. #13
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da luca120 Visualizza il messaggio
    codice:
    Exception in thread "main" java.lang.NullPointerException
        at java.awt.Container.addImpl(Container.java:1090)
        at java.awt.Container.add(Container.java:410)
        at javax.swing.JPopupMenu.add(JPopupMenu.java:284)
        at javax.swing.JMenu.add(JMenu.java:579)
        at GestionaleGrafico.<init>(GestionaleGrafico.java:76)
        at GestionaleGrafico.main(GestionaleGrafico.java:93)
    Una cosa abbastanza evidente è che menuItem3 non è assegnato (la riga di assegnazione è commentata) quindi menu2.add(menuItem3); sicuramente fallisce. Verifica se è la riga incriminata. Tieni presente che fare l'add di un null è un errore (segnalato appunto con il NullPointerException).

    Quote Originariamente inviata da luca120 Visualizza il messaggio
    c'entra qualcosa che sto sviluppando sotto linux?
    No


    P.S.:
    1) Cerca di dare nomi sensati alle variabili: menu1, menu2, menuItem1, ..... non dicono assolutamente nulla. E se il codice è già confuso su circa 100 righe .... immagina quando ne avrai 3000, 4000 ecc.....
    2) Nel main fai sempre partire tutta la creazione della GUI nel contesto del Event Dispatch Thread con il "solito" SwingUtilities.invokeLater.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #14
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Qual è la riga GestionaleGrafico.java:76?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #15
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    14
    alex'87 grazie non avevo notato dopo una certa ora il mio cercallo mi abbandona :P, piano piano sto riuscendo nel mio progetto volevo farvi delle domande


    Schermata da 2014-07-14 20:39:14.jpg
    ho allegato una immagine

    come si vede ho creato una tabella (per la catalogazione) dove andranno inseriti i relativi dati dei prodotti, ma c'è un ma come faccio a shiftare la tabella nel lato sinistro del programma? perche ho provato a fare
    codice:
    add(table, BorderLayout.EAST);
    facendo cosi il programma non parte piu ....

    Seconda domanda

    come si può vedere esiste un menu (Gestione nuovo articolo), volevo far in modo che quando seleziono quel menu compaglia la relativa schermata nel riquadro a sinistra, secondo voi è possibile?

  6. #16
    ma visto che si tratta di OOP perche` non usare un oggetto che ti mappa ogni riga del file csv???

    leggi una riga, fai lo split per ogni ; e costruisci un oggetto.
    in questo oggetto ridefinisci l'equals o l'hashcode (meglio in questo caso) in base all'id, metti tutto in una lista, e poi tramite una semplice ricerca per equals hai risolto.

    il problema sull'east non saprei cosi`....senza informazioni.

    per il resto tutto e` fattibile

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 © 2026 vBulletin Solutions, Inc. All rights reserved.