Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Logikfrage (http://www.informatikerboard.de/board/thread.php?threadid=4111)


Geschrieben von Tommy1234 am 27.01.2019 um 15:57:

  Logikfrage

Hallo,

ich schäme mich zwar irgendwie dafür aber ich frage trotzdem kurz:

ich habe 3 radiobuttons, die per klick selektiert werden und demzufolge die beiden zustände selektiert bz unselektiert.

wie erreiche ich nun, dass man immer mindestens einen button markiert lässt, während die anderen beiden unselktiert bleiben?

Das ganze is in java.

Sorry ich checks einfach nicht.

Wäre für hilfe dankbar.

Hier noch kurz ein snippet:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:


if(radiobuttons[0].isSelected()&&radiobuttons[1].isSelected()&&radiobuttons[2].isSelected()) {
			
			if(!radiobuttons[1].isSelected() && !radiobuttons[2].isSelected()) {
				radiobuttons[0].setSelected(true);
				radiobuttons[1].setSelected(false);
				radiobuttons[2].setSelected(false);
			}
			if(!radiobuttons[0].isSelected() && !radiobuttons[2].isSelected()) {
				radiobuttons[0].setSelected(false);
				radiobuttons[1].setSelected(true);
				radiobuttons[2].setSelected(false);
			}
			if(!radiobuttons[0].isSelected() && !radiobuttons[1].isSelected()) {
				radiobuttons[0].setSelected(false);
				radiobuttons[1].setSelected(false);
				radiobuttons[2].setSelected(true);
			}
		}




Die anfangszustände sind jeweils true. Lässt sich aber beliebig für jeden Button euinfach ändern.



Geschrieben von ed209 am 27.01.2019 um 22:56:

 

Es ist länger her daß ich Swing programmiert habe, aber ich glaube es gibt einfachere Wege als die Logik selber zu implementieren. Eventuell hilft es dir mal das Konzept ButtonGroup anzuschauen:
https://docs.oracle.com/javase/7/docs/api/javax/swing/ButtonGroup.html

Noch eine Anmerkung zu deinem Code:
Ich glaube nicht daß die inneren If-Blöcke jemals ausgeführt werden, denn deren Bedingung widerspricht der äußeren Bedingung, deine Bedingung lautet quasi "Wenn alle drei Buttons ausgewählt sind und zwei davon nicht ausgewählt sind"


Forensoftware: Burning Board, entwickelt von WoltLab GmbH