My HW assignment is to Write a program using Java swing components including two
ID: 3625123 • Letter: M
Question
My HW assignment is toWrite 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());
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.