Results 1 to 6 of 6

Thread: compile error -

  1. #1

    Thread Starter
    Addicted Member
    Join Date
    Oct 2002
    Location
    Propped up at a PC near you...
    Posts
    194

    compile error -

    java applet:

    keep getting compile error:

    ---------- Javac ----------
    Radio.java:15: 'class' or 'interface' expected
    public void init() {
    ^
    Radio.java:8: Radio should be declared abstract; it does not define itemStateChanged(java.awt.event.ItemEvent) in Radio
    class Radio extends Applet implements ItemListener {
    ^
    2 errors
    Normal Termination
    Output completed (0 sec consumed).

    heres my code:

    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.applet.Applet;



    class Radio extends Applet implements ItemListener {

    CheckboxGroup oneCBG;
    Checkbox cbMale, cbFemale;
    TextField gender;
    }

    public void init() {
    oneCBG = new CheckboxGroup();

    cbMale = new Checkbox("Male", false, oneCBG);
    add(cbMale);
    cbMale.addItemListener(this);

    cbFemale = new Checkbox("Female", false, oneCBG);
    add(cbFemale);
    cbFemale.addItemListener(this);

    gender = new TextField(7);
    }


    public void itemStateChanged(ItemEvent e) {
    if (e.getItemSelectable() ==cbMale) {
    gender.setText("Male");
    }
    if (e.getItemSelectable() ==cbFemale) {
    gender.setText("Female");
    }
    }

    can someone point me in the right direction?

  2. #2
    Frenzied Member
    Join Date
    Aug 2000
    Location
    O!
    Posts
    1,177
    Move the subroutines inside the classes braces, i.e.
    Code:
    import java.awt.*; 
    import java.awt.event.*; 
    import java.io.*; 
    import java.applet.Applet; 
    
    class Radio extends Applet implements ItemListener { 
    
     CheckboxGroup oneCBG; 
     Checkbox cbMale, cbFemale; 
     TextField gender; 
    
     public void init() { 
      oneCBG = new CheckboxGroup(); 
    
      cbMale = new Checkbox("Male", false, oneCBG); 
      add(cbMale); 
      cbMale.addItemListener(this); 
    
      cbFemale = new Checkbox("Female", false, oneCBG); 
      add(cbFemale); 
      cbFemale.addItemListener(this); 
    
      gender = new TextField(7); 
     } 
    
     public void itemStateChanged(ItemEvent e) { 
      if (e.getItemSelectable() ==cbMale) { 
         gender.setText("Male"); 
      } 
      if (e.getItemSelectable() ==cbFemale) { 
         gender.setText("Female"); 
      } 
     }
    }

  3. #3

    Thread Starter
    Addicted Member
    Join Date
    Oct 2002
    Location
    Propped up at a PC near you...
    Posts
    194
    thanks, those braces drive you nutty when your beginning to learn java!

  4. #4

    Thread Starter
    Addicted Member
    Join Date
    Oct 2002
    Location
    Propped up at a PC near you...
    Posts
    194
    now that I've got those radio buttons working, I want to include them in my [b]application[b] (that was working till I tried to add the radio buttons!)

    I do not understand what the compile error is telling me - could you exxplain, please?

    ---------- Javac ----------
    System1.java:22: missing method body, or declare abstract
    public void init();{
    ^
    1 error
    Normal Termination
    Output completed (0 sec consumed).

    ?declare abstract?

    here my application code:

    Code:
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    
    
    
    class System1 extends Frame implements WindowListener, ActionListener, ItemListener { 
    
    
    		static Button load;
    		static TextArea myTextArea;
    		static Label fNameLabel;
    		static Label sNameLabel;
    		static TextField Firstname;
    		static TextField Surname;
    
    		CheckboxGroup oneCBG;
    	    Checkbox cbMale, cbFemale;
    		static TextField gender;
    	
    
    public void init();{
    oneCBG = new CheckboxGroup();
    
    cbMale = new Checkbox("Male", false, oneCBG);
    add(cbMale);
    cbMale.addItemListener(this);
    
    cbFemale = new Checkbox("Female", false, oneCBG);
    add(cbFemale);
    cbFemale.addItemListener(this);
    
    gender = new TextField(7);
    add(gender);
    }
    
    public void itemStateChanged(ItemEvent e) {
    		if (e.getItemSelectable() ==cbMale) {
            gender.setText("Male");
    		}
    		if (e.getItemSelectable() ==cbFemale) {
            gender.setText("Female");
    		}
    		}
    		
    
        public static void main (String [] args) {
    
    
            // create an instance of the ExampleFrame object
            System1 demo = new System1();
            // set Layout manager to Flow Layout, like an applet
            demo.setLayout(new FlowLayout());
            // set size
            demo.setSize(400,300); // increase size to display text area
            // register listener for window events, eg close
            demo.addWindowListener(demo);
    
    
    //add checkboxes
    
            // create a text area and add  it to the frame
            // create and add button
            
            // create and add label and text field
            fNameLabel = new Label("Firstname:");
            demo.add(fNameLabel);
            Firstname = new TextField(25);
            demo.add(Firstname);
    
    sNameLabel = new Label("Surname:");
            demo.add(sNameLabel);
            Surname = new TextField(25);
            demo.add(Surname);
    
    load = new Button("Load");
            demo.add(load);
            load.addActionListener(demo);
    
            myTextArea = new TextArea("",10,50);
            demo.add(myTextArea);
        
            // make Frame visible
            demo.setVisible(true);
        }
    
    
    //public void itemStateChanged(ItemEvent e) {
      //  if (e.getItemSelectable() ==cbMale) {
      //      gender.setText("Male");
      //  }
      //if (e.getItemSelectable() ==cbFemale) {
      //      gender.setText("Female");
      //  }
      // }
    
        // button handler
        public void actionPerformed(ActionEvent evt) {
    
            // get file name and insert text into text area
            String filename = (Firstname.getText()).trim();    
            
            // Load button pressed ?
            if (evt.getSource()== load) {
                String s = readTextFile(filename);
                myTextArea.insert(s, 0);} // insert text at start
            
          }
    public static String readTextFile(String filename) {
        
        BufferedReader inFile;
        String line, s = "";  // intialize s
    
        
        try
    
        {
            inFile = new BufferedReader(new FileReader(filename));
    
            while ( (line = inFile.readLine()) != null )
            {
                s = s + line + "\n"; // concatenate onto s, WITH
    // AN EXTRA NEW LINE
            }
            inFile.close();
        }
        catch (IOException e)
        {
            System.out.println("Error in file " + filename + " : "     +  e.toString() );
            System.exit(1);  // better if -1, means standard error
        }
        
        return s;
    // return s
    }
    //**********************************
        // code to handle closing the window
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
        
    
    
        //unused empty WindowListener Methods --- needed to enable a            // compile
        public void windowIconified(WindowEvent e) {
        }
        public void windowOpened(WindowEvent e) {
        }
        public void windowClosed(WindowEvent e) {
        }
        public void windowDeiconified(WindowEvent e) {
        }
        public void windowActivated(WindowEvent e) {
        }
        public void windowDeactivated(WindowEvent e) {
        }
    }

  5. #5
    Frenzied Member
    Join Date
    Aug 2000
    Location
    O!
    Posts
    1,177
    Try removing the semicolon from public void init();{

  6. #6

    Thread Starter
    Addicted Member
    Join Date
    Oct 2002
    Location
    Propped up at a PC near you...
    Posts
    194
    thanks for that, although it compiled, the radio buttons did not appear.

    I think I will have to go back to the books for a whle before I try any more!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width