-
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?
-
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");
}
}
}
-
thanks, those braces drive you nutty when your beginning to learn java!
-
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) {
}
}
-
Try removing the semicolon from public void init();{
-
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! :mad: