Classe Prenotazione con 2 scelte

CtNapoli

Nuovo Utente
3 Giu 2016
2
0
1
33
Devo realizzare una classe con interfaccia grafica che faccia in modo che un cliente possa prenotare un Taxi via sms o e-mail

Al momento quello che ho scritto è:

Codice:
package view;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Prenotation extends JFrame implements ActionListener {
    JLabel lblSms;
    JLabel lblEmail;
    JPanel pnlMain;
    public JButton txtsms;
    public JButton txtemail;
 
 
    public Prenotation (String title){
        super(title);
        lblSms= new JLabel("sms:");
        lblEmail= new JLabel("email:");
        pnlMain = new JPanel();
        txtsms = new JButton("Sms");
        txtemail = new JButton("E-Mail");             
     
        pnlMain.add(lblSms);
        pnlMain.add(txtsms);
        pnlMain.add(lblEmail);
        pnlMain.add(txtemail);

        txtsms.addActionListener(this);
        txtemail.addActionListener(this);
     
        getContentPane().add(pnlMain);
     
        pack();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
     
    }
 
     
 
    public void actionPerformed(ActionEvent event){
     
        System.out.println("Prenotato");

    }
 
    public static void main (String[] args )
    {
        new Prenotation("Prenotazione Avvenuta");
    }
}

Vorrei fare in modo che se al click del mouse scelgo sms mi compare che ho scelto di prenotare con sms, se clicco email allora mi compare che ho scelto di prenotare con email
Inoltre vorrei fare in modo che una volta cliccata una delle 2 possibilità, non si dia la possibilità all'utente di poter cliccar nuovamente una delle 2 scelte
 

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
Prima della SCELTA del cliente la variabile SCELTA vale 1; se i cliente ha scelto, la variabile vale ZERO e se la variabile scelta vale ZERO niente più possibilità di scegliere. Ma conviene dare la possibilità al cliente di ritornare sui suoi passi.

Oppure nel componente metti SETenabled(false) dopo che è stato cliccato.
 
Ultima modifica:

CtNapoli

Nuovo Utente
3 Giu 2016
2
0
1
33
Per quanto riguarda la classe Prenotation ho fatto così:
Codice:
package view;

import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.SwingUtilities;

public class Prenotation extends JFrame {

    private JButton buttonOK = new JButton("OK");

    public JRadioButton option1 = new JRadioButton("Sms");
    public JRadioButton option2 = new JRadioButton("Email");

    private JLabel labelImage = new JLabel();

    public Prenotation() {
        super("Swing JRadioButton Demo");

        ButtonGroup group = new ButtonGroup();
        group.add(option1);
        group.add(option2);

        option2.setSelected(true);

        setLayout(new GridBagLayout());
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.gridx = 0;
        constraints.gridy = 0;
        constraints.anchor = GridBagConstraints.CENTER;
        constraints.insets = new Insets(10, 10, 10, 10);

        add(option1, constraints);
        constraints.gridx = 1;
        add(option2, constraints);
        constraints.gridx = 2;

        constraints.gridx = 0;
        constraints.gridy = 1;
        constraints.gridwidth = 3;

        add(labelImage, constraints);

        constraints.gridy = 2;
        add(buttonOK, constraints);

        RadioButtonActionListener actionListener = new RadioButtonActionListener();
        option1.addActionListener(actionListener);
        option1.addActionListener(actionListener);

        buttonOK.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent event) {
                String selectedOption = "";
                if (option1.isSelected()) {
                    selectedOption = "Sms";
                }
                else if (option2.isSelected()) { 
                    selectedOption = "Email";
                }
                JOptionPane.showMessageDialog(Prenotation.this,
                        "Hai scelto: " + selectedOption);
            }
        });

        pack();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
    }

    class RadioButtonActionListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent event) {
            JRadioButton button = (JRadioButton) event.getSource();
             
        }
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                new Prenotation().setVisible(true);
            }
        });
    }
}


Magari ho lasciato qualcosa di troppo, invece per la parte relativa al controllore ho qualche difficoltà
Come faccio a tenere nota del bottone che ho cliccato
Al momento la parte relativa all'ActionPerformed l'ho impostata così ma c'è da cambiarne il funzionamento

Codice:
package controller;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

import view.Prenotation;

public class PrenotationController implements ActionListener {
    Prenotation view;
    public PrenotationController(Prenotation view){
        this.view = view;
    }
    public void actionPerformed(ActionEvent arg0) {
        System.out.println("Hai Cliccato");
        int sms;
        int email;
        sms = Integer.parseInt(view.option1.getText());
        email = Integer.parseInt(view.option1.getText());
        System.out.println("Hai scelto:");
    }
}
 
Discussioni simili
Autore Titolo Forum Risposte Data
G classe CSS sovrascritta HTML e CSS 2
L php tinymce mi duplica la classe label PHP 3
P jButton1ActionPerformed passare parametri ad altra classe Java 2
L creare oggetti da una classe tramite un form Javascript 0
A Riproduzione classe Vector C/C++ 3
C [PHP] Estrarre da una classe i valori che mi interessano PHP 5
O Estendere una rete di classe C Reti LAN e Wireless 1
tucu49 PHP include classe PHP 8
M [PHP] Estendere Connessione a una Classe PHP 1
M [PHP] utilizzo di una classe e delle sue funzioni PHP 2
tritabit Classe MysqliDb mancante nelle librerie arc2 PHP 2
D [PHP] assegnare una classe PHP 1
W [PHP] Creazione classe PDO PHP 4
S Copiare attributi da una classe. Programmazione 0
D [PHP] chiamata metodi da una classe PHP 3
L [PHP] login con la classe medoo.in PHP 5
macus_adi Classe PHP per la Geolocalizzazione del visitatore Snippet PHP 0
B [Javascript] Cambiare classe ed aggiornare relativi eventi Javascript 3
M [wordpress-galleria immagini]Inserire classe php in html PHP 0
L [PHP] Classe che non vede i suoi metodi PHP 3
A [Javascript] Mancata aggiunta di una classe al click Javascript 1
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
C [PHP] Metodo di una classe in sltra classe PHP 1
Shyson [WordPress] Mettere classe css WordPress 0
V [PHP] utilizzo di metodi statici in altra classe PHP 5
Sevenjeak [C#] Aiuto esportazione tema su libreria di classe ( dll ) .NET Framework 1
elpirata [PHP] [RISOLTO] Stampare classe css in base al risultato della query PHP 6
A modificare .jar con classe personalizzata Java 9
Rikk73 Passare come argomento in un metodo un parametro della classe istanziata PHP 0
M Visualizzare da una classe esistente ogni profilo utente PHP 1
napuleone Modificare attributi di una classe con js Javascript 2
C Upload immagini con classe non funzionante PHP 1
A chiamate con istanza di altra classe rispetto la classe di app. (plugin) PHP 1
M aggiungere classe al click Javascript 1
M Assegnare un id o classe a una variabile php PHP 5
P Inserire classe su script Google Analitics Magento 0
N Dare id ad elementi classe jQuery 1
otto9due Postare tweet con immagine cosa aggiungere a questa classe? PHP 0
C Errore con classe PHP 4
Marco_88 Aiuto Oggetti da Classe PHP 0
otto9due Qualcuno mi dice dove sbaglio in questa classe .. PHP 4
A Creare una classe espressione Java 1
F Aggiungere classe/id immagine jQuery 3
C Leggere variabili esterne ad una classe in php 5.2 PHP 6
L classe upload [Problema cartella] PHP 1
Nik Tab in jquery: aggiungere classe allo stato inattivo jQuery 1
J [risolto] Trasformare la seguente classe PHP PHP 2
J Creare una classe view php PHP 0
L Problemi con classe di astrazione per il database PHP 20
emanuelevt [risolto] classe che non si rimuove jQuery 1

Discussioni simili