Von Button und Radio Button Aktion bearbeiten

sofarsohood

Mitglied
Einen schönen Abend wünsche ich euch.

Habe vor kurzem mit der Java GUI Programmierung angefangen und nun folgendes Problem:

Ich habe 4 Radio Buttons zusammengefasst in einer Group sowie einen Button.
Wenn der Radio Button fürs Programm-Beenden ausgewählt ist und dann auch noch der Button gedrückt wird soll das Programm beendet werden.

Hierzu der Code:

Java:
public void actionPerformed(ActionEvent e) {
		if((R4.isSelected() == true) && (B1.isSelected() == true)){
			B1.setText("Hallo");
		}
		
	}}

Wobei in dem Beispiel B1 der Button ist und R4 der Radio Button.

Gruß
Alex
 
Das ist die Klasse:

Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Menue implements ActionListener{
	
	//private static final AbstractButton B1 = null;
	JRadioButton R1 = new JRadioButton();
	JRadioButton R2 = new JRadioButton();
	JRadioButton R3 = new JRadioButton();
	JRadioButton R4 = new JRadioButton();
	JButton B1 = new JButton();

	public void createWindow(){
		
		
		
		ButtonGroup group = new ButtonGroup();
		JPanel p = new JPanel();
		
		// Frame + Einstellungen
		JFrame f = new JFrame();
		f.setSize(600, 300);
		f.setLocation(50,300);
		f.setName("Menü");
		
		group.add(R1);
		group.add(R2);
		group.add(R3);
		group.add(R4);
		
		// Benennungen
		R1.setText("s...Show whole vehiclepark");
		R2.setText("a...add new vehicle");
		R3.setText("r...remove vehicle");
		R4.setText("e...exit Programm");
		B1.setText("OK");
		
		R1.addActionListener(this);
		R2.addActionListener(this);
		R3.addActionListener(this);
		R4.addActionListener(this);
		B1.addActionListener(this);
		
		//Buttongruppe
		p.add(R1);
		p.add(R2);
		p.add(R3);
		p.add(R4);
		
		// Platz, untereinander mit Panel
		p.setLayout(new BoxLayout (p, BoxLayout.Y_AXIS));
		f.getContentPane().add(p);
	
		f.getContentPane().add(BorderLayout.EAST, B1);
		f.setVisible(true);
		
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		if((R4.isSelected() == true) && (B1.isSelected() == true)){
		}
		
	}
	}


und der Launcher:

Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Oberflaeche implements ActionListener{

	
	public static void main(String[] args) {
	
		
		Menue m = new Menue();
		
		
		m.createWindow();
	}


}
 
PHP:
For the group, the ButtonGroup instance guarantees that only one button can be selected at a time.
Wie soll denn da jemals R4 und R1 true werden!?
 
B1 und R4 😉
Ein Button kann aber mMn nicht selected sein.

Füge doch einfach nur dem Button den Actionlistener zu und prüfe dann welcher der vier RadioButtons selektiert ist.
 
nur dem Button den ActionListener hinzufügen:
Java:
B1.addActionListener(this);

In der actionPerformed() abfragen ob R4 selektiert ist:
Java:
	@Override
	public void actionPerformed(ActionEvent e) {
		if (R4.isSelected()) {
			System.exit(0);
		}
	}
 

Zurück
Oben