Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

My HW assignment is to Write a program using Java swing components including two

ID: 3625123 • Letter: M

Question

My HW assignment is to

Write a program using Java swing components including two radio buttons and a text field. When the user clicks on one radio button, the text changes to lower case; when the user clicks on the other radio button, the text changes to upper case.

This is what I have

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;

public class CaseChanger extends JFrame
{
private Container contents;
private JRadioButton upper;
private JRadioButton lower;
private ButtonGroup CaseGroup;
private JLabel label;

public CaseChanger()
{
super("Changing Case");
this.contents = getContentPane();
this.contents.setLayout(new FlowLayout());

this.upper = new JRadioButton("UPPERCASE", true);
this.lower = new JRadioButton("lowercase");

this.label = new JLabel("WATCH ME CHANGE CASE");

this.contents.add(this.upper);
this.contents.add(this.lower);
this.contents.add(this.label);

this.CaseGroup = new ButtonGroup();
this.CaseGroup.add(this.upper);
this.CaseGroup.add(this.lower);

CaseChanger.RadioButtonHandler rbh = new CaseChanger.RadioButtonHandler(null);
this.upper.addItemListener(rbh);
this.lower.addItemListener(rbh);

setSize(300, 200);
setVisible(true);
}

public static void main(String[] args)
{
CaseChanger cc = new CaseChanger();
cc.setDefaultCloseOperation(3);
}

private class RadioButtonHandler
implements ItemListener
{
private RadioButtonHandler()
{
}

public void itemStateChanged(ItemEvent ie)
{
if (ie.getSource() == CaseChanger.this.upper)
CaseChanger.this.label.setText(CaseChanger.this.label.getText().toUpperCase());
else if (ie.getSource() == CaseChanger.this.lower)
CaseChanger.this.label.setText(CaseChanger.this.label.getText().toLowerCase());
}
}
}


I got this message "cannot find symbol constructor RadioButtonHandler(<nulltype>)"

How can I fix this?

Explanation / Answer

please rate - thanks

I think I highlighted all the changes in red

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;

public class CaseChanger extends JFrame
{
private Container contents;
private JRadioButton upper;
private JRadioButton lower;
private ButtonGroup CaseGroup;
private JLabel label;
private RadioButtonHandler rbh;
public CaseChanger()
{
super("Changing Case");
this.contents = getContentPane();
this.contents.setLayout(new FlowLayout());

this.upper = new JRadioButton("UPPERCASE", true);
this.lower = new JRadioButton("lowercase");

this.label = new JLabel("WATCH ME CHANGE CASE");

this.contents.add(this.upper);
this.contents.add(this.lower);
this.contents.add(this.label);

this.CaseGroup = new ButtonGroup();
this.CaseGroup.add(this.upper);
this.CaseGroup.add(this.lower);
rbh = new RadioButtonHandler();
//CaseChanger.RadioButtonHandler rbh = new CaseChanger.RadioButtonHandler(null);
this.upper.addItemListener(rbh);
this.lower.addItemListener(rbh);

setSize(300, 200);
setVisible(true);
}

public static void main(String[] args)
{
CaseChanger cc = new CaseChanger();
cc.setDefaultCloseOperation(3);
}

private class RadioButtonHandler
implements ItemListener
{
private RadioButtonHandler()
{
}

public void itemStateChanged(ItemEvent ie)
{
if (ie.getSource() == CaseChanger.this.upper)
CaseChanger.this.label.setText(CaseChanger.this.label.getText().toUpperCase());
else if (ie.getSource() == CaseChanger.this.lower)
CaseChanger.this.label.setText(CaseChanger.this.label.getText().toLowerCase());
}
}
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote