be36b6d0dd
From-SVN: r38367
117 lines
2.4 KiB
Java
117 lines
2.4 KiB
Java
/* Copyright (C) 2000 Free Software Foundation
|
|
|
|
This file is part of libjava.
|
|
|
|
This software is copyrighted work licensed under the terms of the
|
|
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
|
details. */
|
|
|
|
package java.awt;
|
|
import java.awt.peer.ButtonPeer;
|
|
import java.awt.peer.ComponentPeer;
|
|
import java.awt.event.ActionListener;
|
|
import java.awt.event.ActionEvent;
|
|
import java.util.EventListener;
|
|
|
|
/**
|
|
* @author Tom Tromey <tromey@cygnus.com>
|
|
* @date July 30, 2000
|
|
*/
|
|
|
|
public class Button extends Component
|
|
{
|
|
public Button ()
|
|
{
|
|
this (null);
|
|
}
|
|
|
|
public Button (String label)
|
|
{
|
|
this.label = label;
|
|
}
|
|
|
|
public void addActionListener (ActionListener l)
|
|
{
|
|
actionListener = AWTEventMulticaster.add (actionListener, l);
|
|
}
|
|
|
|
public void addNotify ()
|
|
{
|
|
if (peer == null)
|
|
peer = getToolkit ().createButton (this);
|
|
super.addNotify();
|
|
}
|
|
|
|
public String getActionCommand ()
|
|
{
|
|
return actionCommand;
|
|
}
|
|
|
|
public String getLabel ()
|
|
{
|
|
return label;
|
|
}
|
|
|
|
protected String paramString ()
|
|
{
|
|
return "Button[" + label + "]";
|
|
}
|
|
|
|
void dispatchEventImpl(AWTEvent e)
|
|
{
|
|
super.dispatchEventImpl(e);
|
|
|
|
if (e.id <= ActionEvent.ACTION_LAST
|
|
&& e.id >= ActionEvent.ACTION_FIRST
|
|
&& (actionListener != null
|
|
|| (eventMask & AWTEvent.ACTION_EVENT_MASK) != 0))
|
|
processEvent(e);
|
|
}
|
|
|
|
protected void processActionEvent (ActionEvent e)
|
|
{
|
|
if (actionListener != null)
|
|
actionListener.actionPerformed (e);
|
|
}
|
|
|
|
protected void processEvent (AWTEvent e)
|
|
{
|
|
if (e instanceof ActionEvent)
|
|
processActionEvent ((ActionEvent) e);
|
|
else
|
|
super.processEvent (e);
|
|
}
|
|
|
|
public void removeActionListener (ActionListener l)
|
|
{
|
|
actionListener = AWTEventMulticaster.remove (actionListener, l);
|
|
}
|
|
|
|
public EventListener[] getListeners(Class listenerType)
|
|
{
|
|
if (listenerType == ActionListener.class)
|
|
return getListenersImpl(listenerType, actionListener);
|
|
return super.getListeners(listenerType);
|
|
}
|
|
|
|
public void setActionCommand (String command)
|
|
{
|
|
this.actionCommand = (command == null) ? label : command;
|
|
}
|
|
|
|
public void setLabel (String label)
|
|
{
|
|
this.label = label;
|
|
if (peer != null)
|
|
{
|
|
ButtonPeer bp = (ButtonPeer) peer;
|
|
bp.setLabel (label);
|
|
}
|
|
}
|
|
|
|
String label;
|
|
String actionCommand;
|
|
|
|
transient ActionListener actionListener;
|
|
}
|