Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Programma su un menù

  1. #1
    Utente di HTML.it L'avatar di L_92
    Registrato dal
    Nov 2010
    Messaggi
    20

    Programma su un menù

    Salve a tutti, è il mio primo intervento in questo forum.
    Sono un programmatore java alle prime armi, perciò avrei bisogno di qualche consiglio.
    Avevo da fare un programma per casa che realizzasse un' interfaccia grafica usando le librerie awt e swing.
    L'interfaccia è disposta nel seguente modo:
    -una barra dei menù in alto suddivisa in 4 menù, ognuno dei quali raccoglie le principali portate di un pranzo (Primi piatti, secondi piatti, contorni, dessert).
    Ogni menu contiene 3 voci (per esempio, il menù Primi piatti ha le tre voci: pasta al forno, lasagne, e farfalle al salmone).
    -un pannello principale organizzato con un borderLayout:
    -a sinistra un'etichetta ed una casella di testo dove verrà inserito il prezzo totale del
    pranzo;
    -al centro un'area di testo con tutti i piatti scelti tra i vari menù;
    -a destra un'immagine che farà vedere ogni piatto scelto;
    -ed in basso un bottone ordina. Quando verrà premuto, sarà calcolato il prezzo totale del pranzo.

    Vi posto qui il codice.

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    class Ristorante extends JFrame implements ActionListener
    {
    private JPanel p = new JPanel();
    private JMenuBar barra = new JMenuBar();
    private JPanel prezzo = new JPanel();
    private JLabel immagine = new JLabel();
    private JLabel l1 = new JLabel();
    private JTextField t1 = new JTextField();
    private JTextArea area = new JTextArea();
    private float somma;
    private Button ordina = new Button();

    public Ristorante()
    {
    creaMenu();
    this.setJMenuBar(barra);

    // aggiunge le componenti del frame
    Container c = f.getContentPane();
    c.add(p);

    prezzo.setLayout(new GridLayout(2,1));

    prezzo.add(l1);
    prezzo.add(t1);

    p.add(prezzo, "West");
    p.add(area, "Center");
    p.add(img, "East");
    p.add(ordina, "South");


    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
    }

    public JMenuBar creaMenu()
    {
    JMenu menu;
    JMenuItem voce;

    menu = new JMenu("Primi piatti");
    menu.setMnemonic(KeyEvent.VK_m);
    barra.add(menu);

    voce = new JMenuItem("Pasta al forno....4€", KeyEvent.VK_f);
    voce.addActionListener(this);
    menu.add(voce);


    voce = new JMenuItem("Lasagne....4€", KeyEvent.VK_L);
    voce.addActionListener(this);
    menu.add(voce);

    voce = new JMenuItem("Farfallette al salmone....4€", KeyEvent.VK_r);
    voce.addActionListener(this);
    menu.add(voce);

    menu = new Jmenu("Secondi piatti");
    menu.setMnemonic(KeyEvent.VK_t);
    barra.add(menu);

    voce = new JMenuItem("Bistecca alla fiorentina....6€", KeyEvent.VK_B);
    voce.addActionListener(this);
    menu.add(voce);

    voce = new JMenuItem("Cotoletta di pollo....3,50€", KeyEvent.VK_p);
    voce.addActionListener(this);
    menu.add(voce);

    voce = new JMenuItem("Fetta di pesce spada....8€", KeyEvent.VK_i);
    voce.addActionListener(this);
    menu.add(voce);

    menu = new Jmenu("Contorni");
    menu.setMnemonic(KeyEvent.VK_o);
    barra.add(menu);


    voce = new JMenuItem("Patatine fritte....2€", KeyEvent.VK_a);
    voce.addActionListener(this);
    menu.add(voce);


    voce = new JMenuItem("Insalata russa....2,50€", KeyEvent.VK_u);
    voce.addActionListener(this);
    menu.add(voce);


    voce = new JMenuItem("Caponata....3€", KeyEvent.VK_C);
    voce.addActionListener(this);
    menu.add(voce);

    menu = new Jmenu("Dessert");
    menu.setMnemonic(KeyEvent.VK_D);
    barra.add(menu);


    voce = new JMenuItem("Torta sette veli....3€", KeyEvent.VK_e);
    voce.addActionListener(this);
    menu.add(voce);


    voce = new JMenuItem("Cassata siciliana....3€", KeyEvent.VK_s);
    voce.addActionListener(this);
    menu.add(voce);


    voce = new JMenuItem("Crep alla nutella....3€", KeyEvent.VK_n);
    voce.addActionListener(this);
    menu.add(voce);

    return barra;
    }


    public void actionPerformed (ActionEvent e)
    {
    JMenuItem source = (JMenuItem)(e.getSource());
    String s = source.getText();

    if(s.equals("Pasta al forno....4€"))
    {
    area.append("Pasta al forno");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\Pasta_al_forno.jp g")
    somma+=4;
    }

    if(s.equals("Lasagne....4€"))
    {
    area.append("\nLasagne");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\lasagne.jpg")
    somma+=4;
    }

    if(s.equals("Farfallette al salmone....4€"))
    {
    area.append("\nFarfallette al salmone");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\farfalle_al_salmo ne.jpg")
    somma+=4;
    }

    if(s.equals("Bistecca alla fiorentina....6€"))
    {
    area.append("\nBistecca alla fiorentina");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\bistecca_alla_fio rentina.jpg")
    somma+=6;
    }

    if(s.equals("Cotoletta di pollo....3,50€"))
    {
    area.append("\nCotoletta di pollo");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\cot_pollo.jpg")
    somma+=3,5;
    }

    if(s.equals("Fetta di pesce spada....8€"))
    {
    area.append("\nFetta di pesce spada");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\pesce_spada.jpg")
    somma+=8;
    }

    if(s.equals("Patatine fritte....2€"))
    {
    area.append("\nPatatine fritte");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\patatine-fritte.jpg")
    somma+=2;
    }

    if(s.equals("Insalata russa....2,50€"))
    {
    area.append("\nInsalata russa");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\insalata_russa.jp g");
    somma+=2,50;
    }

    if(s.equals("Caponata....3€"))
    {
    area.append("\nCaponata");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\caponata.jpg");
    somma+=3;
    }

    if(s.equals("Torta sette veli....3€"))
    {
    area.append("\nTorta sette veli");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\torta-sette-veli.jpg");
    somma+=3;
    }

    if(s.equals("Cassata siciliana....3€"))
    {
    area.append("\nCassata siciliana");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\cassata-siciliana.jpg");
    somma+=3;
    }

    if(s.equals("Crep alla nutella....3€"))
    {
    area.append("\nCrepes");
    img.setIcon(new ImageIcon("C:\Users\leo\Pictures\crepes_nutella.jp g");
    somma+=3;
    }
    }

    String s = e.getActionCommand();
    if(s.equals("Ordina"))
    t1.setText(""+somma);

    }
    }

    Purtroppo non riesco a compilare la classe (faccio javac Ristorante.java, ma mi spunta sempre javac:file not found ecc..), quindi mi potreste dire se notate qualche errore?
    Grazie in anticipo

  2. #2
    Prova ad usare Eclipse come framework x scrivere in java, è molto comodo e compila il codice runtime e gli errori li vedi subito.

    Riguardo all'errore ke ti ha dato il javac, nn è ke hai sbagliato il path name dove hai salvato il tuo file??

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Fabietto206
    Prova ad usare Eclipse come framework x scrivere in java, è molto comodo e compila il codice runtime e gli errori li vedi subito.
    Visto che è alle prime armi è sconsigliato l'utilizzo di un ambiente di sviluppo complesso come Eclipse (o NetBeans ecc.): un semplice editor di testo e il terminale sono più che sufficienti.

    Originariamente inviato da Fabietto206
    Riguardo all'errore ke ti ha dato il javac, nn è ke hai sbagliato il path name dove hai salvato il tuo file??
    Sul forum è molto gradito l'utilizzo di un italiano privo di abbreviazioni stile sms, sono solo fastidiose.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Per facilitare la lettura a chi ti vuole aiutare, ricordati di racchiudere il codice nei tag CODE.

    Il main dov'è?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa la domanda (forse stupida) ma non è che non sei nella cartella in cui si trova Ristorante.java o hai chiamato il file in altro modo?

    Riguardo all'uso di IDE concordo: sono di aiuto a chi già conosce il linguaggio o come si programma, teoricamente con SciTe, Notepad++, vi e il compilatore dovresti poter fare tutto

  6. #6
    Utente di HTML.it L'avatar di L_92
    Registrato dal
    Nov 2010
    Messaggi
    20
    Per facilitare la lettura a chi ti vuole aiutare, ricordati di racchiudere il codice nei tag CODE.

    Il main dov'è?

    Scusate, cos'è il tag CODE?
    Il main l'ho messo in un'altra classe.

    Il nome ed il path del file sono corretti. Credo che mi il comando javac mi dia l' errore perchè l' estensione del file è .txt, dato che ho fatto la stesura del codice con il blocco note . Ho provato più volte a cambiarla salvando il file selezionando la voce tutti i tipi quando faccio salva con nome, ma rimane sempre un documento di testo.
    Riguardo il codice avete notato degli errori?

    Problema con l' estensione risolto, me l'ha compliato

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    usa SciTe o Notepad++ per scrivere il codice (almeno evidenzia le parole chiave, non siamo così cattivi).
    in ogni caso salva il file mettendo il nome tra apici, dovresti aggirare il problema.

    Infine il tag code serve a scrivere appunto codice, di facile comprensione per noi

  8. #8
    Utente di HTML.it L'avatar di L_92
    Registrato dal
    Nov 2010
    Messaggi
    20
    Scusate ma non ho capito come usare il tag CODE, comunque se potete dare un'occhiata al metodo ActionPerformed, ci sono i metodi setIcon che servono ad inserire un'immagine.
    Il compilatore, mi dà errore di illegal escape character.
    Mi spiegate come usare questo metodo, oppure un altro modo per inserire un' immagine nell' interfaccia?

  9. #9
    Così è ancora + illeggibile.....manda a capo il codice....

  10. #10
    Utente di HTML.it L'avatar di L_92
    Registrato dal
    Nov 2010
    Messaggi
    20
    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    class Ristorante extends JFrame implements ActionListener
    {
     private JPanel p = new JPanel();
     private JMenuBar barra = new JMenuBar();
     private JPanel prezzo = new JPanel();
     private JLabel img = new JLabel();
     private JLabel l1 = new JLabel();
     private JTextField t1 = new JTextField();
     private JTextArea area = new JTextArea();
     private float somma;
     private Button ordina = new Button();
    
     public Ristorante()
     {
      creaMenu();
      this.setJMenuBar(barra);
     
      // aggiunge le componenti del frame
      Container c = this.getContentPane();
      c.add(p); 
    
      prezzo.setLayout(new GridLayout(2,1));
    
      prezzo.add(l1);
      prezzo.add(t1);
      
      p.add(prezzo, "West");
      p.add(area, "Center");
      p.add(img, "East");
      p.add(ordina, "South");
     
    
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
      
     public JMenuBar creaMenu()
     {
      JMenu menu;
      JMenuItem voce;
    
      menu = new JMenu("Primi piatti");
      menu.setMnemonic(KeyEvent.VK_M);
      barra.add(menu);
      
      voce = new JMenuItem("Pasta al forno....4€", KeyEvent.VK_F);
      voce.addActionListener(this);
      menu.add(voce);
     
      
      voce = new JMenuItem("Lasagne....4€", KeyEvent.VK_L);
      voce.addActionListener(this);
      menu.add(voce);
    
      voce = new JMenuItem("Farfallette al salmone....4€", KeyEvent.VK_R);
      voce.addActionListener(this);
      menu.add(voce);
    
      menu = new JMenu("Secondi piatti");
      menu.setMnemonic(KeyEvent.VK_T);
      barra.add(menu);
    
      voce = new JMenuItem("Bistecca alla fiorentina....6€", KeyEvent.VK_B);
      voce.addActionListener(this);
      menu.add(voce);
    
      voce = new JMenuItem("Cotoletta di pollo....3,50€", KeyEvent.VK_P);
      voce.addActionListener(this);
      menu.add(voce);
      
      voce = new JMenuItem("Fetta di pesce spada....8€", KeyEvent.VK_I);
      voce.addActionListener(this);
      menu.add(voce); 
    
      menu = new JMenu("Contorni");
      menu.setMnemonic(KeyEvent.VK_O);
      barra.add(menu);
    
      
      voce = new JMenuItem("Patatine fritte....2€", KeyEvent.VK_A);
      voce.addActionListener(this);
      menu.add(voce);
      
     
      voce = new JMenuItem("Insalata russa....2,50€", KeyEvent.VK_U);
      voce.addActionListener(this);
      menu.add(voce);
    
      
      voce = new JMenuItem("Caponata....3€", KeyEvent.VK_C);
      voce.addActionListener(this);
      menu.add(voce);
    
      menu = new JMenu("Dessert");
      menu.setMnemonic(KeyEvent.VK_D);
      barra.add(menu);
    
      
      voce = new JMenuItem("Torta sette veli....3€", KeyEvent.VK_E);
      voce.addActionListener(this);
      menu.add(voce);
    
      
      voce = new JMenuItem("Cassata siciliana....3€", KeyEvent.VK_S);
      voce.addActionListener(this);
      menu.add(voce);
     
      
      voce = new JMenuItem("Crep alla nutella....3€", KeyEvent.VK_N);
      voce.addActionListener(this);
      menu.add(voce);
    
      return barra;
    }
    
    
     public void actionPerformed (ActionEvent e)
     {
      JMenuItem source = (JMenuItem)(e.getSource());
      String s = source.getText();
     
      if(s.equals("Pasta al forno....4€"))
      {
      area.append("Pasta al forno");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\Pasta_al_forno.jpg")
      somma+=4;
      }
    
      if(s.equals("Lasagne....4€"))
      {
      area.append("\nLasagne");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\lasagne.jpg")
      somma+=4;
      }
      
      if(s.equals("Farfallette al salmone....4€"))
      {
      area.append("\nFarfallette al salmone");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\farfalle_al_salmone.jpg")
      somma+=4;
      }
    
      if(s.equals("Bistecca alla fiorentina....6€"))
      {
      area.append("\nBistecca alla fiorentina");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\bistecca_alla_fiorentina.jpg")
      somma+=6;
      }
    
      if(s.equals("Cotoletta di pollo....3,50€"))
      {
      area.append("\nCotoletta di pollo");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\cot_pollo.jpg")
      somma+=3,5;
      }
      
      if(s.equals("Fetta di pesce spada....8€"))
      {
      area.append("\nFetta di pesce spada");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\pesce_spada.jpg")
      somma+=8;
      }
    
      if(s.equals("Patatine fritte....2€"))
      {
      area.append("\nPatatine fritte");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\patatine-fritte.jpg")
      somma+=2;
      }
    
      if(s.equals("Insalata russa....2,50€"))
      {
      area.append("\nInsalata russa");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\insalata_russa.jpg");
      somma+=2,50;
      }
      
      if(s.equals("Caponata....3€"))
      {
      area.append("\nCaponata");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\caponata.jpg");
      somma+=3;
      }
    
      if(s.equals("Torta sette veli....3€"))
      {
      area.append("\nTorta sette veli");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\torta-sette-veli.jpg");
      somma+=3;
      }
    
      if(s.equals("Cassata siciliana....3€"))
      {
      area.append("\nCassata siciliana");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\cassata-siciliana.jpg");
      somma+=3;
      }
    
       if(s.equals("Crep alla nutella....3€"))
      {
      area.append("\nCrepes");
      img.setIcon(new ImageIcon("C:\Users\leo\Pictures\crepes_nutella.jpg");
      somma+=3;
      }
     }
    
      String s = e.getActionCommand();
      if(s.equals("Ordina"))
      t1.setText(""+somma);
     
     }
    }

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.