Creating Control Buttons with NetBeans IDE - Working with JRadioButton
(Page 5 of 5 )
Working with radio buttons will be very similar to working with check boxes. We need to declare and add them to the content pane as follows:
private void initComponents() {
bgrBGColor = new javax.swing.ButtonGroup();
rbBGRed = new javax.swing.JRadioButton();
rbBGGreen = new javax.swing.JRadioButton();
rbBGBlue = new javax.swing.JRadioButton();
txtMsg = new javax.swing.JTextField();
getContentPane().setLayout(null);
setDefaultCloseOperation(
javax.swing.WindowConstants.EXIT_ON_CLOSE);
bgrBGColor.add(rbBGRed);
rbBGRed.setText("BG Red");
rbBGRed.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt)
{
rbBGRedActionPerformed(evt);
}
});
getContentPane().add(rbBGRed);
rbBGRed.setBounds(30, 20, 160, 23);
.
.
.
txtMsg.setText("This is some message");
getContentPane().add(txtMsg);
txtMsg.setBounds(30, 100, 240, 20);
pack();
}
Handling events for the respective radio buttons would be as follows:
private void rbBGBlueActionPerformed(
java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.txtMsg.setBackground(java.awt.Color.BLUE);
}
private void rbBGGreenActionPerformed(
java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.txtMsg.setBackground(java.awt.Color.GREEN);
}
private void rbBGRedActionPerformed(
java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.txtMsg.setBackground(java.awt.Color.RED);
}
At this moment I really didn't group any of the radio buttons. If you need to group the radio buttons and dynamically get the radio button selected within the group, you may need to proceed to the next section.
Working with JRadioButton and ButtonGroup together
When there are too many radio buttons and we want to group them according to their categories, we need "ButtonGroup" available in JFC. Let us see how to work with "ButtonGroups" in this section.
Defining "ButtonGroup" and "RadioButtons" would be very similar to the following:
bgrBGColor = new javax.swing.ButtonGroup();
bgrFGColor = new javax.swing.ButtonGroup();
rbBGRed = new javax.swing.JRadioButton();
rbBGGreen = new javax.swing.JRadioButton();
rbBGBlue = new javax.swing.JRadioButton();
.
.
.
Adding RadioButtons to the ButtonGroup would be similar to the following:
bgrBGColor.add(rbBGRed);
rbBGRed.setText("BG Red");
rbBGRed.setActionCommand("Red");
getContentPane().add(rbBGRed);
rbBGRed.setBounds(30, 20, 160, 23);
To know the radio button selected from a button group at run-time, we need to write something like the following:
String BGSelectedColor =
this.bgrBGColor.getSelection().getActionCommand().toUpperCase();
if (BGSelectedColor.equals("RED"))
this.txtMsg.setBackground(java.awt.Color.RED);
else if (BGSelectedColor.equals("GREEN"))
this.txtMsg.setBackground(java.awt.Color.GREEN);
else if (BGSelectedColor.equals("BLUE"))
this.txtMsg.setBackground(java.awt.Color.BLUE);
.
.
.
Any doubts, bugs, errors, suggestions, feedback etc. are highly appreciated at jag_chat@yahoo.com.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |