the mistake is .....we should write actionPerformed ......not
ActionPerformed
> -----Original Message-----
> From: Girish Jaju [SMTP:[EMAIL PROTECTED]]
> Sent: Tuesday, October 26, 1999 7:41 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Partly off-topic: Q on inner classes/ActionListener
>
> Hi,
> I think you should remove the public keyword from the inner classes,
> because at the max a file can only have one Public class.
> I have read it but never tried it myself.
>
> Cheers
>
> Girish
>
> > -----Original Message-----
> > From: RVASUDEV [SMTP:[EMAIL PROTECTED]]
> > Sent: Tuesday, October 26, 1999 6:50 PM
> > To: [EMAIL PROTECTED]
> > Subject: Partly off-topic: Q on inner classes/ActionListener
> >
> > Hi
> >
> > [Platform: Win NT 4.0 SP3, Sun JDK 1.2.2]
> >
> > While compiling a java application, I get some
> > errors. App and err details below. Any suggestions
> > appreciated. [The program is a simple one to
> > encode/decode a file, the encode/decode logic
> > hasn't been added yet]
> >
> > TIA
> > Vasudev
> >
> > The application :
> >
> > -------------------------------------------------
> > // Codec1.java
> >
> > import java.awt.*;
> > import java.awt.event.*;
> > import java.io.*;
> >
> > public class Codec1 extends Frame {
> >
> > /** initialize fields */
> > Label inFileLabel = new Label("Input file name");
> > TextField inFileName = new TextField(64);
> > Label outFileLabel = new Label("Output file name");
> > TextField outFileName = new TextField(64);
> > Button encodeBtn = new Button("Encode");
> > Button decodeBtn = new Button("Decode");
> > Button exitBtn = new Button("Exit");
> > TextField status = new TextField(64);
> > FileInputStream fis;
> > BufferedInputStream bis;
> > DataInputStream dis;
> > FileOutputStream fos;
> > BufferedOutputStream bos;
> > DataOutputStream dos;
> >
> > /** main - just creates a new Codec1 object */
> > public static void main(String[] args) {
> > new Codec1();
> > }
> >
> > /* no-arg constructor */
> > public Codec1() {
> >
> > super("Codec1");
> >
> > // setup GUI
> > setLayout(new FlowLayout());
> > add(inFileLabel);
> > add(inFileName);
> > add(outFileLabel);
> > add(outFileName);
> > add(encodeBtn);
> > add(decodeBtn);
> > add(exitBtn);
> > add(status);
> >
> > // add listeners
> > encodeBtn.addActionListener(new EncBtnAL());
> > decodeBtn.addActionListener(new DecBtnAL());
> > exitBtn.addActionListener(new ExiBtnAL());
> >
> > enableButtons();
> > this.setSize(400, 500);
> > this.setVisible(true);
> > this.show();
> >
> > }
> >
> > /** listener for Encode Button */
> > public class EncBtnAL implements ActionListener {
> > public void ActionPerformed(ActionEvent ae) {
> > disableButtons();
> > status.setText("Encoding...please wait");
> > encode( inFileName.getText().trim(),
> > outFileName.getText().trim() );
> > enableButtons();
> > }
> > }
> >
> > /** listener for Decode Button */
> > public class DecBtnAL implements ActionListener {
> > public void ActionPerformed(ActionEvent ae) {
> > //disableButtons();
> > status.setText("Not implemented yet");
> > // decode(inFileName.getText(),
> > //outFileName.getText());
> > //enableButtons();
> > }
> > }
> >
> > /** listener for Encode Button */
> > public class ExiBtnAL implements ActionListener {
> > public void actionPerformed(ActionEvent ae) {
> > System.out.println("Exiting...");
> > sleep(1);
> > System.exit(0);
> > }
> > }
> >
> > public void encode(String inFileName, String outFileName) {
> > try {
> > fis = new FileInputStream(inFileName);
> > bis = new BufferedInputStream(fis);
> > dis = new DataInputStream(bis);
> > fos = new FileOutputStream(outFileName);
> > bos = new BufferedOutputStream(fos);
> > dos = new DataOutputStream(bos);
> > char c;
> > while ((c = dis.readChar()) != -1) {
> > //c = c ^ c;
> > dos.writeChar((int) c);
> > }
> > status.setText("Encoding complete");
> > sleep(1);
> > }
> > catch(IOException ioe) {
> > System.out.println("IO error: " + ioe);
> > status.setText("Encode failed");
> > sleep(1);
> > }
> > finally {
> > try {
> > dis.close(); bis.close(); fis.close();
> > dos.close(); bos.close(); fos.close();
> > }
> > catch(IOException ioe) {
> > System.out.println("IO error: " + ioe);
> > status.setText("Close(s) failed");
> > sleep(1);
> > }
> > }
> > }
> >
> > public void disableButtons() {
> > encodeBtn.setEnabled(false);
> > decodeBtn.setEnabled(false);
> > exitBtn.setEnabled(false);
> > }
> >
> > public void enableButtons() {
> > encodeBtn.setEnabled(true);
> > decodeBtn.setEnabled(true);
> > exitBtn.setEnabled(true);
> > }
> >
> > public void sleep(int seconds) {
> > try {
> > Thread.sleep(seconds * 1000);
> > }
> > catch(InterruptedException ie)
> > {
> > }
> > }
> > }
> > -------------------------------------------------
> >
> >
> > The errors :
> >
> > C:> javac Codec1.java 2>e
> > C:> type e
> >
> > Codec1.java:47: inner class Codec1. EncBtnAL is an abstract class. It
> > can't
> > be instantiated.
> > encodeBtn.addActionListener(new EncBtnAL());
> > ^
> > Codec1.java:48: inner class Codec1. DecBtnAL is an abstract class. It
> > can't
> > be instantiated.
> > decodeBtn.addActionListener(new DecBtnAL());
> > ^
> > Codec1.java:59: inner class Codec1. EncBtnAL must be declared abstract.
> It
> > does not define void actionPerformed(java.awt.event.ActionEvent) from
> > interface java.awt.event.ActionListener.
> > public class EncBtnAL implements ActionListener {
> > ^
> > Codec1.java:70: inner class Codec1. DecBtnAL must be declared abstract.
> It
> > does not define void actionPerformed(java.awt.event.ActionEvent) from
> > interface java.awt.event.ActionListener.
> > public class DecBtnAL implements ActionListener {
> > ^
> > 4 errors
> >
> >
> __________________________________________________________________________
> > _
> > To unsubscribe, send email to [EMAIL PROTECTED] and include in the
> > body
> > of the message "signoff SERVLET-INTEREST".
> >
> > Archives: http://archives.java.sun.com/archives/servlet-interest.html
> > Resources: http://java.sun.com/products/servlet/external-resources.html
> > LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
>
> __________________________________________________________________________
> _
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
> body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html