List.java: Wrote.

* java/awt/List.java: Wrote.
	* java/awt/Dialog.java: Wrote.

From-SVN: r41476
This commit is contained in:
Tom Tromey 2001-04-21 02:48:35 +00:00 committed by Tom Tromey
parent 968b956afb
commit f825e235a8
3 changed files with 576 additions and 7 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (C) 2000 Free Software Foundation
/* Copyright (C) 2000, 2001 Free Software Foundation
This file is part of libgcj.
@ -8,13 +8,155 @@ details. */
package java.awt;
/* A very incomplete placeholder. */
import java.awt.peer.DialogPeer;
/**
* @author Tom Tromey <tromey@redhat.com>
* @date April 17, 2001
*/
public class Dialog extends Window
{
public Dialog (Dialog owner)
{
this (owner, "", false);
}
public Dialog (Dialog owner, String title)
{
this (owner, title, false);
}
public Dialog (Dialog owner, String title, boolean modal)
{
super (owner);
this.modal = modal;
this.title = title;
setLayout (new BorderLayout ());
}
public Dialog (Frame owner)
{
super(owner);
// FIXME
this (owner, "", false);
}
public Dialog (Frame owner, boolean modal)
{
this (owner, "", modal);
}
public Dialog (Frame owner, String title)
{
this (owner, title, false);
}
public Dialog (Frame owner, String title, boolean modal)
{
super (owner);
this.modal = modal;
this.title = title;
setLayout (new BorderLayout ());
}
/** Create the peer if it does not already exist. */
public void addNotify ()
{
if (peer == null)
peer = getToolkit ().createDialog (this);
}
public boolean isModal ()
{
return modal;
}
public void setModal (boolean modal)
{
this.modal = modal;
}
public String getTitle ()
{
return title;
}
public void setTitle (String title)
{
this.title = title;
if (peer != null)
{
DialogPeer d = (DialogPeer) peer;
d.setTitle (title);
}
}
public void show ()
{
boolean vis = isVisible ();
super.show ();
if (modal && vis)
{
// Don't return until something happens. We lock on the peer
// instead of `this' so that we don't interfere with whatever
// locks the caller might want to use.
synchronized (peer)
{
try
{
peer.wait ();
}
catch (InterruptedException _)
{
}
}
}
}
public void hide ()
{
super.hide ();
synchronized (peer)
{
peer.notify ();
}
}
public void dispose ()
{
super.dispose ();
synchronized (peer)
{
peer.notify ();
}
}
public boolean isResizable ()
{
return resizable;
}
public void setResizable (boolean resizable)
{
this.resizable = resizable;
if (peer != null)
{
DialogPeer d = (DialogPeer) peer;
d.setResizable (resizable);
}
}
protected String paramString ()
{
return ("Dialog["
+ title + ","
+ modal + ","
+ resizable + "]");
}
// True if dialog is modal.
private boolean modal;
// True if dialog is resizable by the user.
private boolean resizable = false;
// Dialog title.
private String title;
}