Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Java Radiobuttons

Name: dl 2011-09-21 13:53

Need help.
Problem: I have multiple radio buttons. Only one is allowed to be selected at once. The way I have does not work and is inefficient.
Note: This is java. select1 to select7 are JRadioButtons

if (select1.isSelected() == true){
            selectedPlace = row[0];
            select2.setSelected(false);
            select3.setSelected(false);
            select4.setSelected(false);
            select5.setSelected(false);
            select6.setSelected(false);
            select7.setSelected(false);
        } else if (select2.isSelected() == true){
            selectedPlace = row[1];
            select1.setSelected(false);
            select3.setSelected(false);
            select4.setSelected(false);
            select5.setSelected(false);
            select6.setSelected(false);
            select7.setSelected(false);
        } else if (select3.isSelected() == true){
            selectedPlace = row[2];
            select1.setSelected(false);
            select2.setSelected(false);
            select4.setSelected(false);
            select5.setSelected(false);
            select6.setSelected(false);
            select7.setSelected(false);
        } else if (select4.isSelected() == true){
            selectedPlace = row[3];
            select1.setSelected(false);
            select2.setSelected(false);
            select3.setSelected(false);
            select5.setSelected(false);
            select6.setSelected(false);
            select7.setSelected(false);
        } else if (select5.isSelected() == true){
            selectedPlace = row[4];
            select1.setSelected(false);
            select2.setSelected(false);
            select3.setSelected(false);
            select4.setSelected(false);
            select6.setSelected(false);
            select7.setSelected(false);
        } else if (select6.isSelected() == true){
            selectedPlace = row[5];
            select1.setSelected(false);
            select2.setSelected(false);
            select3.setSelected(false);
            select4.setSelected(false);
            select5.setSelected(false);
            select7.setSelected(false);
        } else if (select7.isSelected() == true){
            selectedPlace = row[6];
            select1.setSelected(false);
            select2.setSelected(false);
            select3.setSelected(false);
            select4.setSelected(false);
            select5.setSelected(false);
            select6.setSelected(false);
        }

Name: Anonymous 2011-09-21 13:58

GC is shit. You're code is shit too.

Name: Anonymous 2011-09-21 13:58

Consider refactoring your code.

- select1..7 could be an array of size 7
- create function that sets all except one selection to false, so you can get rid of copy-paste

Reason why not to use copy-paste code is that it is very annoying to maintain. What if you need to add one select-widget? Then you would need to change 8 different places in your code. Create function and you only need to change one.

Actually, your code looks so bad, that I'm guessing you are just trolling.

Name: dl 2011-09-21 14:00

I know its bad. I'm new to this. That's why I am here for help.

Name: Anonymous 2011-09-21 14:02

each button triggers uncheck_other(button_num_to_skip)

Name: Anonymous 2011-09-21 14:05

>>4
In case you are not troll; I would say that /prog/ is bad place to ask newbie questions. There are better forums for learning.

Name: Anonymous 2011-09-21 14:26

>Problem: I have multiple radio buttons. Only one is allowed to be selected at once
list boxes

Name: Anonymous 2011-09-21 14:27

pseudocode:

RadioGroup {

    JRadioButton[] selects;

    construct (size) {
        selects = Array<JRadioButton>[size];
    }
   
    onSelect (selected_key) {
       selects.each(key, select) {
           select.setSelected( key == selected_key ? true : false);
    }
}

selects = RadioGroup(7);

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List