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:"); } }

Rispondi quotando