yego.me
💡 Stop wasting time. Read Youtube instead of watch. Download Chrome Extension

Java GUI Lesson 7 | JRadioButtons


3m read
·Nov 3, 2024

Hey, this is Mac Heads 101. My name is Jake. Welcome to your seventh Java tutorial, and today we're talking about JRadioButtons.

So, if you remember in the last tutorial, we used file menus and we had radio button menu items so that only one can be selected at a time. Well, these radio buttons are kind of like checkboxes, and only one can be selected at a time. So, we're actually going to be making the same program I made in the last tutorial, just with radio buttons instead of a file menu, which is where when you select one, it changes the background or whatever you set.

I'm actually going to have more colors in this tutorial, just because it's more fun that way. So, I may just implement ActionListener just so we can actually, you know, do something.

So, private JRadioButton red. I'm going to copy and paste this a couple of times, so I have five colors: red, blue, yellow, green, and magenta because that's a fun one. And I have, no, it has no magenta.

Alright, so now public second constructor. I'll set layout as just new FlowLayout because I don't feel like coding a custom layout right now. Set visible true. Set default close operation. Set size, and they get 400 by 250.

Alright, so now red equals new JRadioButton("Red"). So you know what each button is going to be doing. And I'll just copy and paste this four more times to do for each other button: blue, yellow, green, magenta. And, of course, I'm going to change the label of it to all that, so red, blue, yellow, green, magenta.

Right now, I'm going to make that a button group, and what that means is if I add things to a group, only one of them can be selected at a time. Since I only want that because the background can only be one color at a time, which is why these are radio buttons in the first place. A radio button means it can only be one thing at a time.

So do that: ButtonGroup colorGroup equals new ButtonGroup(). And I just have to add these onto the group. So group.add(red). And I'm going to copy and paste this because I'm lazy: blue, yellow, and magenta.

Alright, so I think I would also have to do, oh yeah, add the ActionListener to them. So red.addActionListener(this) so that adds this ActionListener, the one that's implemented. And yeah, put it for blue, yellow, green, and magenta.

Now I just have to add all those components to the window; otherwise, they're just not going to show up, and that would be bad. So yeah, add red, blue, yellow, green, magenta.

Alright, so now the last thing to do is build that ActionListener, also the whole point of our program. You know, there's no point because we're just trying to change the colors.

So, in this method, we're going to change the color based on what's selected. So public void actionPerformed(ActionEvent e) {

Alright, so now if (e.getSource() == red), so basically if red is selected, it's the location of the event. If red is selected, setBackground(Color.red). And that basically means if red is selected, set the background color to red.

I'm just going to do that for blue, yellow, green, and magenta. So blue, setBackground(Color.blue). Yellow, setBackground(Color.yellow). Green, setBackground(Color.green). And magenta, setBackground(new Color(128, 0, 128)).

Okay, so that's up on ActionListener. And in here, I just have to do this: Second s = new Second(); That's all. And I'm not doing s.setVisible(this time because I set visible in here.

So now I'm just going to run this, and you'll see exactly what it does. So here's our five buttons. Let me just resize this because I feel like it. So red, blue, green, yellow, magenta.

So when I click red, the background becomes red, and when I click blue, it's blue, green, yellow, magenta.

Okay, so basically, the group is what made it so you can't select more than one at a time, and radio buttons only one can be selected at a time. So, as you can see, that one's selected, and then I try to click blue, and I can't select it because of the radio buttons.

So, thank you for watching Mac Heads 101. Subscribe, goodbye!

More Articles

View All
Answering Google's Most Asked Questions of 2022
For most of Google’s relatively short existence, we’ve searched small, silly, insignificant questions - things like how to tell if a papaya is ripe. The color is almost fully yellow, and the feeling is slightly soft. Don’t forget to scoop out the seeds! S…
Approximating limits using tables | Limits and continuity | AP Calculus AB | Khan Academy
This video we’re going to try to get a sense of what the limit as x approaches 3 of ( x^3 - 3x^2 ) over ( 5x - 15 ) is. And when I say get a sense, we’re going to do that by seeing what values for this expression we get as x gets closer and closer to 3. N…
How Do You Become Santa Claus? Santa School, Of Course! | National Geographic
Now the reason why it’s important that you learn to do this, it’s because you’re the most photographed people in the world. The Charles W. Howard Santa Claus School is the world’s oldest Santa Claus school. It is here to help Santa’s become [Music]. The S…
How To Raise Kids When You're Rich | Impaulsive Podcast
It’s done, he says. What do you mean it’s done? I said. It means no more checks. And I said to him, the dead bird under the nest never learns how to fly. And he said, what the [ __ ] does that mean? [Music] [Applause] [Music] Mr. Wonder, Mr. Wonderful, …
Emphatic pronouns | The parts of speech | Grammar | Khan Academy
All right, grammarian, so we know that there’s one way to use this thing we call reflexive pronouns, and that’s to say you’re doing something to yourself, as in the sentence, “I made myself breakfast.” Right? I’m making myself breakfast, or in the sentenc…
Help me INTERVIEW THE PRESIDENT - Smarter Every Day 150
[music] Hey, it’s me, Destin. Welcome back to Smarter Every Day. This is different; it’s really a big deal. I have been invited to go to the White House to sit down with the President of the United States of America for 10 to 12 minutes to discuss issues …