Received: from PACIFIC-CARRIER-ANNEX.MIT.EDU by po7.MIT.EDU (5.61/4.7) id AA18722; Sun, 10 Dec 95 02:31:12 EST
Received: from liquor.cabi.net by MIT.EDU with SMTP
	id AA23393; Sun, 10 Dec 95 02:31:15 EST
Received: (from listadm@localhost) by liquor.cabi.net (8.6.12/8.6.12) id CAA11170; Sun, 10 Dec 1995 02:03:50 -0500
Resent-Date: Sun, 10 Dec 1995 02:03:50 -0500
Date: Sat, 9 Dec 1995 23:00:43 -0800 (PST)
From: Paul Phillips <paulp@CERF.NET>
To: java-linux@java.blackdown.org
Subject: Bug with dialog boxes?
Message-Id: <Pine.SUN.3.91.951209225142.28074A-100000@nic.cerf.net>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Resent-Message-Id: <"VpgvN3.0.7k2.8Oeom"@liquor>
Resent-From: java-linux@java.blackdown.org
X-Mailing-List: <java-linux@java.blackdown.org> archive/latest/700
X-Loop: java-linux@java.blackdown.org
Precedence: list
Resent-Sender: java-linux-request@java.blackdown.org

I'm having trouble getting a simple dialog box to pop up on Linux; it's 
hard to tell whether it's a JDK bug, a Linux bug, or a bug in my code, 
but the code is snarfed directly from a WWW page of examples and seems to 
be correct.

Here's the dump --

status: applet loaded
status: applet initialized
status: exception: java.lang.NullPointerException: null
java.lang.NullPointerException
        at sun.awt.motif.MComponentPeer.<init>(MComponentPeer.java:75)
        at sun.awt.motif.MCanvasPeer.<init>(MCanvasPeer.java:32)
        at sun.awt.motif.MPanelPeer.<init>(MPanelPeer.java:30)
        at sun.awt.motif.MDialogPeer.<init>(MDialogPeer.java:39)
        at sun.awt.motif.MToolkit.createDialog(MToolkit.java:93)
        at java.awt.Dialog.addNotify(Dialog.java:78)
        at java.awt.Window.show(Window.java:93)
        at maze.DataManager.getName(DataManager.java:15)
        at maze.Maze.start(Maze.java:187)
        at sun.applet.AppletPanel.run(AppletPanel.java:287)
        at java.lang.Thread.run(Thread.java)


And here's the code -- line 15 of DataManager.java is the last one 
referring to my code, it's the d.show call.

class DataManager {
    Maze m;

    public DataManager(Maze src) {
        m = src;
    }

    public String getName() {
        Dialog d = new NameDialog(m, "Welcome", "Enter your name:");
        d.show();

        return "";
    }
}


Here's NameDialog --

class NameDialog extends Dialog {
    public String name;

    public NameDialog(Maze src, String title, String msg) {
        super(null, title, true);  // the parent is null...
        setLayout(new BorderLayout());
        Panel p = new Panel();
        p.setLayout(new BorderLayout());
        resize(new Dimension(200, 200));
        // setResizable(false);
        p.add("North", new Label(msg));
        p.add("South", new Button("OK"));
        add("Center", p);
    }

    public boolean action(Event e, Object o) {
        if("OK".equals(o)) {
            hide();
            return true;
        }
        return false;
    }
}

Ideas appreciated.

 -PSP

