Can you please tell me what am i doing wrong??? Error I am getting Exception in
ID: 3533211 • Letter: C
Question
Can you please tell me what am i doing wrong???
Error I am getting Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, insert "}" to complete ClassBody
at RadioButtonFlag.main(RadioButtonFlag.java:49)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class RadioButtonFlag extends JFrame{
private String[] flagTitles = {"Canada", "China", "Denmark", "France", "Germany", "India", "Norway", "United Kingdom", "United States of America"};
private ImageIcon[] flagImage = {
new ImageIcon("image/ca.gif"),
new ImageIcon("image/china.gif"),
new ImageIcon("image/denmark.gif"),
new ImageIcon("image/fr.gif"),
new ImageIcon("image/germany.gif"),
new ImageIcon("image/india.gif"),
new ImageIcon("image/norway.gif"),
new ImageIcon("image/uk.gif"),
new ImageIcon("image/us.gif"),
};
private String[] flagDescription = new String[9];
private DescriptonPanel descriptionPanel = new DescriptionPanel();
private JRadioButton jrbCanada = new JRadioButton("Canada");
private JRadioButton jrbChina = new JRadioButton("China");
private JRadioButton jrbDenmark = new JRadioButton("Denmark");
private JRadioButton jrbFrance = new JRadioButton("France");
private JRadioButton jrbGermany = new JRadioButton("Germany");
private JRadioButton jrbIndia = new JRadioButton("India");
private JRadioButton jrbNorway = new JRadioButton("Norway");
private JRadioButton jrbUK = new JRadioButton("UK");
private JRadioButton jrbUSA = new JRadioButton("USA");
public static void main (String[]args){
RadioButtonFlag frame = new RadioButtonFlag();
frame.pack();
frame.setTitle ("RadioButtonFlag");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,200);
frame.setVisible(true);
}
public RadioButtonFlag(){
JPanel jpRadioButtons = new JPanel();
jpRadioButtons.setLayout(new GridLayout(9,1));
jpRadioButtons.add(jrbCanada);
jpRadioButtons.add(jrbChina);
jpRadioButtons.add(jrbDenmark);
jpRadioButtons.add(jrbFrance);
jpRadioButtons.add(jrbGermany);
jpRadioButtons.add(jrbIndia);
jpRadioButtons.add(jrbNorway);
jpRadioButtons.add(jrbUK);
jpRadioButtons.add(jrbUSA);
ButtonGroup group = new ButtonGroup();
group.add(jrbCanada);
group.add(jrbChina);
group.add(jrbDenmark);
group.add(jrbFrance);
group.add(jrbGermany);
group.add(jrbIndia);
group.add(jrbNorway);
group.add(jrbUK);
group.add(jrbUSA);
flagDescription[0] = "The Canadian national flag";
flagDescription[1] = "The China national flag";
flagDescription[2] = "The Denmark national flag";
flagDescription[3] = "The France national flag";
flagDescription[4] = "The Germany national flag";
flagDescription[5] = "The India national flag";
flagDescription[6] = "The Norway national flag";
flagDescription[7] = "The UK national flag";
flagDescription[8] = "The US national flag";
jrbCanada.setMnemonic('0');
jrbChina.setMnemonic('1');
jrbDenmark.setMnemonic('2');
jrbFrance.setMnemonic('3');
jrbGermany.setMnemonic('4');
jrbIndia.setMnemonic('5');
jrbNorway.setMnemonic('6');
jrbUK.setMnemonic('7');
jrbUSA.setMnemonic('8');
add(jrbCanada, BorderLayout.NORTH);
add(jrbChina, BorderLayout.NORTH);
add(jrbDenmark, BorderLayout.NORTH);
add(jrbFrance, BorderLayout.NORTH);
add(jrbGermany, BorderLayout.NORTH);
add(jrbIndia, BorderLayout.NORTH);
add(jrbNorway, BorderLayout.NORTH);
add(jrbUK, BorderLayout.NORTH);
add(jrbUSA, BorderLayout.NORTH);
add(descriptionPanel, BorderLayout.CENTER);
jrbCanada.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbCanada.getSelectedIndex());
jrbChina.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbChina.getSelectedIndex());
jrbDenmark.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbDenmark.getSelectedIndex());
jrbFrance.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbFrance.getSelectedIndex());
jrbGermany.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbGermany.getSelectedIndex());
jrbIndia.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbIndia.getSelectedIndex());
jrbNorway.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbNorway.getSelectedIndex());
jrbUK.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbUK.getSelectedIndex());
jrbUSA.addActionListener(new ActionListener(){
@Override
public void itemStateChanged(ActionEvent e){
setDisplay(jrbUSA.getSelectedIndex());}
public void setDisplay(int index){
descriptionPanel.setTitle(flagTitles[index]);
descriptionPanel.setImageIcon(flagImage[index]);
descriptionPanel.setDescription(flagDescription[index]);}
Explanation / Answer
I have successfully executed without any errors
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class RadioButtonFlag extends JFrame{
private String[] flagTitles = {"Canada", "China", "Denmark", "France", "Germany", "India", "Norway", "United Kingdom", "United States of America"};
private ImageIcon[] flagImage = {
new ImageIcon("image/ca.gif"),
new ImageIcon("image/china.gif"),
new ImageIcon("image/denmark.gif"),
new ImageIcon("image/fr.gif"),
new ImageIcon("image/germany.gif"),
new ImageIcon("image/india.gif"),
new ImageIcon("image/norway.gif"),
new ImageIcon("image/uk.gif"),
new ImageIcon("image/us.gif"),
};
private String[] flagDescription = new String[9];
private DescriptonPanel descriptionPanel = new DescriptionPanel();
private JRadioButton jrbCanada = new JRadioButton("Canada");
private JRadioButton jrbChina = new JRadioButton("China");
private JRadioButton jrbDenmark = new JRadioButton("Denmark");
private JRadioButton jrbFrance = new JRadioButton("France");
private JRadioButton jrbGermany = new JRadioButton("Germany");
private JRadioButton jrbIndia = new JRadioButton("India");
private JRadioButton jrbNorway = new JRadioButton("Norway");
private JRadioButton jrbUK = new JRadioButton("UK");
private JRadioButton jrbUSA = new JRadioButton("USA");
public static void main (String[]args){
RadioButtonFlag frame = new RadioButtonFlag();
frame.pack();
frame.setTitle ("RadioButtonFlag");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,200);
frame.setVisible(true);
}
public RadioButtonFlag(){
JPanel jpRadioButtons = new JPanel();
jpRadioButtons.setLayout(new GridLayout(9,1));
jpRadioButtons.add(jrbCanada);
jpRadioButtons.add(jrbChina);
jpRadioButtons.add(jrbDenmark);
jpRadioButtons.add(jrbFrance);
jpRadioButtons.add(jrbGermany);
jpRadioButtons.add(jrbIndia);
jpRadioButtons.add(jrbNorway);
jpRadioButtons.add(jrbUK);
jpRadioButtons.add(jrbUSA);
ButtonGroup group = new ButtonGroup();
group.add(jrbCanada);
group.add(jrbChina);
group.add(jrbDenmark);
group.add(jrbFrance);
group.add(jrbGermany);
group.add(jrbIndia);
group.add(jrbNorway);
group.add(jrbUK);
group.add(jrbUSA);
flagDescription[0] = "The Canadian national flag";
flagDescription[1] = "The China national flag";
flagDescription[2] = "The Denmark national flag";
flagDescription[3] = "The France national flag";
flagDescription[4] = "The Germany national flag";
flagDescription[5] = "The India national flag";
flagDescription[6] = "The Norway national flag";
flagDescription[7] = "The UK national flag";
flagDescription[8] = "The US national flag";
jrbCanada.setMnemonic('0');
jrbChina.setMnemonic('1');
jrbDenmark.setMnemonic('2');
jrbFrance.setMnemonic('3');
jrbGermany.setMnemonic('4');
jrbIndia.setMnemonic('5');
jrbNorway.setMnemonic('6');
jrbUK.setMnemonic('7');
jrbUSA.setMnemonic('8');
add(jrbCanada, BorderLayout.NORTH);
add(jrbChina, BorderLayout.NORTH);
add(jrbDenmark, BorderLayout.NORTH);
add(jrbFrance, BorderLayout.NORTH);
add(jrbGermany, BorderLayout.NORTH);
add(jrbIndia, BorderLayout.NORTH);
add(jrbNorway, BorderLayout.NORTH);
add(jrbUK, BorderLayout.NORTH);
add(jrbUSA, BorderLayout.NORTH);
add(descriptionPanel, BorderLayout.CENTER);
jrbCanada.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e){
setDisplay(jrbCanada.getSelectedIndex());
jrbChina.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e){
setDisplay(jrbChina.getSelectedIndex());
jrbDenmark.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e){
setDisplay(jrbDenmark.getSelectedIndex());
jrbFrance.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e){
setDisplay(jrbFrance.getSelectedIndex());
jrbGermany.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e){
setDisplay(jrbGermany.getSelectedIndex());
jrbIndia.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e){
setDisplay(jrbIndia.getSelectedIndex());
jrbNorway.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e){
setDisplay(jrbNorway.getSelectedIndex());
jrbUK.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e){
setDisplay(jrbUK.getSelectedIndex());
jrbUSA.addActionListener(new ActionListener(){
public void itemStateChanged(ActionEvent e)
{
setDisplay(jrbUSA.getSelectedIndex());
}
public void setDisplay(int index){
descriptionPanel.setTitle(flagTitles[index]);
descriptionPanel.setImageIcon(flagImage[index]);
descriptionPanel.setDescription(flagDescription[index]);
}
@Override
public void actionPerformed(
ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(
ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(
ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(
ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(
ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.