Daniele,
I got a chance to try this suggestion. The suggester says it worked for
him, but it didn't work for me on my Win95 machine running Sun's JDK 1.1.5
. Have you come up with anything further?
Marcus
On Mon, 15 Jun 1998, Marcus Johnson wrote:
> Daniele,
>
> I shared this problem on another Java forum and here's the first answer I
> got. I haven't had a chance to try out the suggestion, but here it is:
>
> Posted by Surya Duggirala <[EMAIL PROTECTED]> on June 15, 1998 at 16:19:12:
>
> In Reply to: Problem extending inner classes
>
> In the actionPerformed(ActionEvent) method of Dialog1 class, call
> dispose() method after System.out.println(). Then the code will work
> properly.
>
> Surya
>
>
> On Wed, 17 Apr 1996, Daniele Lugli wrote:
>
> > Could somebody try the following application? It raises a null pointer
> > exception when class Dialog2, extending class Dialog1, tries to access a
> > data member of the outer class.
> > Please consider that I am really a java newbie (about 10 days of
> > programming) so I'm not saying I've found a bug, the problem is probably
> > mine.
> >
> > Thank you,
> > Daniele Lugli
> >
> >
> > // File name: Wrong.java
> >
> > import java.awt.*;
> > import java.awt.event.*;
> > import java.lang.String;
> > import java.text.*;
> > import java.util.*;
> >
> > public class Wrong extends Frame {
> >
> > public static void main (String args[]) throws Exception {
> > new Wrong ();
> > }
> >
> > public Wrong () throws Exception {
> > super ();
> > setBounds (300, 100, 300, 100);
> > setVisible (true);
> >
> > i = 5;
> >
> > new Dialog2 (this);
> > }
> >
> > private void quit () {
> > setVisible (false);
> > dispose ();
> > System.exit (0);
> > }
> >
> >
> > class Dialog1 extends Dialog implements ActionListener {
> > Dialog1 (Frame parent) {
> > super (parent, "Dialog", true );
> > setBounds (400, 200, 100, 75);
> > okButton = new Button ("OK");
> > okButton.addActionListener (this);
> > add (okButton);
> > setVisible (true);
> > }
> > public void actionPerformed (ActionEvent aevt) {
> >
> > System.out.println ("Dialog1: i=" + i);
> >
> > }
> > private Button okButton;
> > }
> >
> > class Dialog2 extends Dialog1 {
> > Dialog2 (Frame parent) {
> > super (parent);
> > }
> > public void actionPerformed (ActionEvent aevt) {
> > super.actionPerformed (aevt);
> >
> > System.out.println ("Dialog2: i=" + i);
> >
> > quit ();
> > }
> > }
> >
> > int i;
> >
> > }
> >
>
>