Ich versuche herauszufinden, wie Listener in diesem Beispiel richtig zu verwenden. Ich möchte, dass ein Pop-up angezeigt wird, nachdem ich auf den Submit-Button geklickt habe, der anzeigt, welche Kästchen aktiviert sind, aber im Moment bekomme ich ein Pop-up, nachdem jede Box angeklickt wurde. Ich habe versucht, einen Aktionslistener für die Optionsfelder und einen Objektlistener für die Kontrollkästchen zu implementieren, aber ich bin mir nicht sicher, ob dies das Richtige ist. Was vermisse ich?Ich kann nicht herausfinden, wie Sie ItemListener und ActionListener implementieren
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class CarSelector extends JFrame implements ActionListener, ItemListener{
JButton submit = new JButton("Submit");
JLabel label1 = new JLabel("Select Vehicle type and options");
JLabel carLabel = new JLabel("Vehicle Type");
JLabel options = new JLabel("Options");
ButtonGroup group = new ButtonGroup();
JRadioButton carRadio = new JRadioButton("Car", true);
JRadioButton vanRadio = new JRadioButton("Minivan");
JRadioButton truckRadio = new JRadioButton("Pickup Truck");
JRadioButton suvRadio = new JRadioButton("SUV");
JCheckBox leather = new JCheckBox("Leather Seats");
JCheckBox ac = new JCheckBox("Air Conditioning");
JCheckBox sat = new JCheckBox("Sattelite Radio");
JCheckBox warmer = new JCheckBox("Seat Warmers");
String optionsSelected;
String carSelected;
ActionListener listen = new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(
CarSelector.this, sb.toString + ssb.toString());
}
};
CarSelector(){
super("Vehicle Selector");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 300);
CarGUI();
}
public void CarGUI(){
JPanel vehicleTypes = new JPanel();
JPanel carOptions = new JPanel();
JPanel submitButton = new JPanel();
carRadio.addActionListener(listen);
vanRadio.addActionListener(listen);
truckRadio.addActionListener(listen);
suvRadio.addActionListener(listen);
leather.addActionListener(listen);
ac.addActionListener(listen);
sat.addActionListener(listen);
warmer.addActionListener(listen);
submit.addActionListener(listen);
add(submitButton);
submitButton.setLayout(new BoxLayout(submitButton, BoxLayout.X_AXIS));
submitButton.setBounds(100, 150, 100, 100);
add(vehicleTypes);
vehicleTypes.setLayout(new BoxLayout(vehicleTypes, BoxLayout.Y_AXIS));
vehicleTypes.setBounds(150,0,125,125);
add(carOptions);
carOptions.setLayout(new BoxLayout(carOptions, BoxLayout.Y_AXIS));
vehicleTypes.add(carLabel);
vehicleTypes.add(carRadio);
vehicleTypes.add(vanRadio);
vehicleTypes.add(truckRadio);
vehicleTypes.add(suvRadio);
group.add(carRadio);
group.add(vanRadio);
group.add(truckRadio);
group.add(suvRadio);
carOptions.add(options);
carOptions.add(leather);
carOptions.add(ac);
carOptions.add(sat);
carOptions.add(warmer);
submitButton.add(submit);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void itemStateChanged(ItemEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
Dies ist der Code zum Ausführen des Programms.
public class GUITest {
public static void main (String[] args){
CarSelector car = new CarSelector();
}
}
Also ... sollten Sie nur den 'ActionListener' zu Ihrem' submit' hinzufügen. – CraigR8806