# Class StringPaster

java.lang.Object
java.awt.event.MouseAdapter
uk.ac.starlink.util.gui.StringPaster

All Implemented Interfaces:
  `MouseListener, MouseMotionListener, MouseWheelListener, EventListener`

public abstract class StringPaster extends MouseAdapter
Utility class to facilitate actions when a string is pasted into a component. If you select some text on a windowing system it's possible to paste it into a JTextComponent which is a convenient way of saving typing. Implementing this for other components is rather fiddly - this class does the hard work for you. To use it, implement the abstract `pasted(String)` method and add it to the component you want to act on using `Component.addMouseListener(MouseListener)`.

Since:
  3 Dec 2004
Author:
  Mark Taylor (Starlink), Sun Microsystems

## Constructor Summary

Constructors
Constructor
Description
`StringPaster()`

## Method Summary

Modifier and Type
Method
Description
`protected Toolkit`
`getToolkit()`
Returns the Toolkit holding the selection.
`protected boolean`
`isPasteEvent(MouseEvent evt)`
Determines whether a mouse event counts as a paste.
`void`
`mouseClicked(MouseEvent evt)`
Invokes `pasted(String)` if appropriate.
`protected abstract void`
`pasted(String str)`
Invoked when a paste event occurs.

### Methods inherited from class MouseAdapter

`mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### StringPaster

public StringPaster()

## Method Details

### mouseClicked

public void mouseClicked(MouseEvent evt)
Invokes `pasted(String)` if appropriate.

Specified by:
  `mouseClicked` in interface `MouseListener`
Overrides:
  `mouseClicked` in class `MouseAdapter`

### isPasteEvent

protected boolean isPasteEvent(MouseEvent evt)
Determines whether a mouse event counts as a paste. The default implementation returns true for a single-click using the middle mouse button.

Parameters:
  `evt` - mouse event
Returns:
  true iff `evt` counts as a paste gesture

### getToolkit

protected Toolkit getToolkit()
Returns the Toolkit holding the selection. The default implementation returns AWT's default toolkit.

Returns:
  toolkit for selection

### pasted

protected abstract void pasted(String str)
Invoked when a paste event occurs.

Parameters:
  `str` - a string that has been pasted from the system-wide selection