Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    applicazione che stampa un biglietto ferroviario

    salve a tutti
    sto cercando di completare il mio progetto universitario ma ho alcuni problemi con la gestione di alcuni eventi.

    Il testo del progetto è il seguente:

    Si progetti un'applicazione che stampa un biglietto ferroviario. Tramite due JList permette di scegliere la stazione di partenza e di arrivo, la classe (si usino due bottoni radio) ed eventualmente prenotare un posto tramire un checkbox. Se il checkbox è selezionato, l'applicazione permette di scegliere un posto corridoio/finestrino oppure vicino ad un altro posto. Infine visualizza in un'area di testo il biglietto risultante.


    Il problema principale è che non riesco a visualizzare entrambi le stazioni di partenza e di arrivo nella text area dopo aver premuto invio, e non so come devo fare per poter visualizzare le altre operazioni selezionate...

    Il secondo problema è il confronto tra due stringhe, che ho creato con l'equals e cioè quando si va a selezionare la stazione di partenza e la stazione di arrivo, l'eccezione è stata creata ma non funziona????

    ...mentre gli altri 2 problemi sono molto più banali... nel momento in cui vado a deselezionare la checkbox il pannello che visualizzo deve tornare false, la stessa cosa per il radiobutton che fa diventare setEditable true la textfield deve ritornare false

    grazie a tutti

    leonardo

  2. #2

    questo è il progetto fino ad ora creato

    /*
    * Biglietto.java
    *
    * Created on 1 giugno 2007, 15.47
    *
    * To change this template, choose Tools | Template Manager
    * and open the template in the editor.
    */
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    import java.util.*; //per lo stringBuffer
    import javax.swing.event.*; //per l'ascolatore ListSelectionListener
    /**
    *
    * @author Leonardo
    */
    public class Biglietto extends JFrame implements ItemListener, ListSelectionListener, ActionListener {

    JLabel partenzaP = null;
    JList stazioniPartenza = null;
    JScrollPane scrollerP = null;
    JLabel arrivoA = null;
    JList stazioniArrivo = null;
    JScrollPane scrollerA = null;
    JLabel preferenzaClasse = null;
    JRadioButton primaClasse = null;
    JRadioButton secondaClasse = null;
    ButtonGroup bg1 = null;
    JCheckBox prenotaP = null;
    JLabel preferenzaPosto = null;
    JRadioButton finestrinoF = null;
    JRadioButton corridoioC = null;
    JRadioButton vicinoV = null;
    ButtonGroup bg2 = null;
    JTextField numeroPosto = null;
    JButton inviaI = null;
    JTextArea bigliettoB = null;
    JPanel file1Panel = null;
    JPanel file2Panel = null;
    JPanel file3Panel = null;
    JPanel file4Panel = null;
    JLabel trenoT = null;


    String[] listaPartenza = {"Roma","Milano","Torino","Genova","Venezia","Fire nze","Perugia","Pescara","Napoli","Bari"};
    String[] listaArrivo = {"Roma","Milano","Torino","Genova","Venezia","Fire nze","Perugia","Pescara","Napoli","Bari"};
    //boolean uguali;


    /** Creates a new instance of Biglietto */
    public Biglietto()
    {
    setLayout(new BorderLayout (100,100));

    file1Panel = new JPanel();
    file1Panel.setLayout(new GridLayout(2,3,100,100));

    partenzaP = new JLabel("Da dove vuoi partire?" );
    file1Panel.add(partenzaP);

    stazioniPartenza = new JList(listaPartenza);
    stazioniPartenza.addListSelectionListener(this);
    file1Panel.add(stazioniPartenza);

    scrollerP = new JScrollPane(stazioniPartenza);
    file1Panel.add(scrollerP);

    arrivoA = new JLabel("Dove vuoi arrivare?");
    file1Panel.add(arrivoA);

    stazioniArrivo = new JList(listaArrivo);
    stazioniArrivo.addListSelectionListener(this);
    file1Panel.add(stazioniArrivo);

    scrollerA = new JScrollPane(stazioniArrivo);
    file1Panel.add(scrollerA);

    preferenzaClasse = new JLabel("Scegli la classe: ");
    file1Panel.add(preferenzaClasse);

    primaClasse = new JRadioButton("1° classe");
    secondaClasse = new JRadioButton("2° classe");
    bg1 = new ButtonGroup();
    bg1.add(primaClasse);
    bg1.add(secondaClasse);
    file1Panel.add(primaClasse);
    file1Panel.add(secondaClasse);

    prenotaP = new JCheckBox("Prenota il tuo posto");
    prenotaP.addItemListener(this);
    file1Panel.add(prenotaP);

    add(file1Panel, BorderLayout.NORTH);


    file2Panel = new JPanel();
    file2Panel.setLayout (new GridLayout(5,0,10,10));
    file2Panel.setVisible(false);

    preferenzaPosto = new JLabel("Indica le tue preferenze per il posto da assegnarti:");
    file2Panel.add(preferenzaPosto);

    finestrinoF = new JRadioButton("finestrino");
    corridoioC = new JRadioButton("corridoio");
    vicinoV = new JRadioButton("vicino a:");
    vicinoV.addItemListener(this);
    bg2 = new ButtonGroup();
    bg2.add(finestrinoF);
    bg2.add(corridoioC);
    bg2.add(vicinoV);
    file2Panel.add(finestrinoF);
    file2Panel.add(corridoioC);
    file2Panel.add(vicinoV);

    numeroPosto = new JTextField();
    numeroPosto.setEditable(false);
    file2Panel.add(numeroPosto);

    add(file2Panel,BorderLayout.WEST);


    file3Panel = new JPanel();
    file3Panel.setLayout(new FlowLayout());

    inviaI = new JButton("Invia");
    inviaI.addActionListener(this);
    file3Panel.add(inviaI);

    add(file3Panel,BorderLayout.SOUTH);


    file4Panel = new JPanel();
    file4Panel.setLayout(new BorderLayout());
    file4Panel.setVisible(false);

    bigliettoB = new JTextArea();

    file4Panel.add(bigliettoB, BorderLayout.WEST);

    trenoT = new JLabel(new ImageIcon ("treno.gif"));

    file4Panel.add(trenoT, BorderLayout.EAST);

    add(file4Panel,BorderLayout.EAST);


    pack();
    }


    public void itemStateChanged(ItemEvent e)
    {
    if (e.getSource() instanceof JCheckBox)
    {
    JCheckBox prenota = (JCheckBox)e.getSource();
    if (prenota == prenotaP)
    {
    file2Panel.setVisible(true);
    }
    }
    if (e.getSource() instanceof JRadioButton)
    {
    JRadioButton vicino = (JRadioButton)e.getSource();
    if (vicino == vicinoV)
    {
    numeroPosto.setEditable(true);
    }
    }
    }



    public void valueChanged(ListSelectionEvent e)
    {
    Object[] stazionip = stazioniPartenza.getSelectedValues();

    StringBuffer bufferp = new StringBuffer("stazione di partenza: ");

    for (int i=0 ; i<stazionip.length ; i++)
    {
    bufferp.append((String)stazionip[i] + "\n");
    }
    bigliettoB.setText(bufferp.toString());
    bigliettoB.setVisible(true);

    Object[] stazionia = stazioniArrivo.getSelectedValues();

    StringBuffer buffera = new StringBuffer("stazione di arrivo: ");

    for (int i=0 ; i<stazionia.length ; i++)
    {
    buffera.append((String)stazionia[i] + "\n");
    }
    bigliettoB.setText(buffera.toString());
    bigliettoB.setVisible(true);
    }



    public void actionPerformed(ActionEvent event)
    {
    if (listaPartenza.equals(listaArrivo))
    {
    JOptionPane.showMessageDialog(null,"La stazione di partenza è uguale alla stazione d'arrivo!");
    }
    else
    {
    file4Panel.setVisible(true);
    }
    }



    public static void main(String[] args)
    {
    Biglietto biglietto = new Biglietto();
    biglietto.setSize(1200,900);
    biglietto.setDefaultCloseOperation(JFrame.EXIT_ON_ CLOSE);
    biglietto.setVisible(true);
    }
    }

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Dato che non lo riconosco come javascript non vorrei che fosse java in tal caso chiedi ad un mod del forum di spostarti nel forum appropriato.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.