package
Java_Project_Package;
import
java.awt.datatransfer.*;
import
java.awt.event.*;
import
javax.swing.*;
@SuppressWarnings
(
"serial"
)
public
class
ClipboardJavaExample
extends
JFrame {
JMenuBar MenuBar =
new
JMenuBar();
JMenu File =
new
JMenu(
"FILE"
);
JMenu edit =
new
JMenu(
"EDIT"
);
JMenuItem cut =
new
JMenuItem(
"CUT"
),
copy =
new
JMenuItem(
"COPY"
),
paste =
new
JMenuItem(
"PASTE"
);
JTextArea TextArea =
new
JTextArea(
20
,
20
);
Clipboard Cboard = getToolkit().getSystemClipboard();
public
ClipboardJavaExample()
{
cut.addActionListener(
new
Cut());
copy.addActionListener(
new
Copy());
paste.addActionListener(
new
Paste());
edit.add(cut);
edit.add(copy);
edit.add(paste);
MenuBar.add(File);
MenuBar.add(edit);
setJMenuBar(MenuBar);
getContentPane().add(TextArea);
}
class
Copy
implements
ActionListener {
public
void
actionPerformed(ActionEvent e)
{
String selection = TextArea.getSelectedText();
if
(selection ==
null
)
return
;
StringSelection clipString
=
new
StringSelection(selection);
Cboard.setContents(clipString, clipString);
}
}
class
Cut
implements
ActionListener {
public
void
actionPerformed(ActionEvent e)
{
String selection = TextArea.getSelectedText();
if
(selection ==
null
)
return
;
StringSelection clipString
=
new
StringSelection(selection);
Cboard.setContents(clipString, clipString);
TextArea.replaceRange(
""
, TextArea.getSelectionStart(),
TextArea.getSelectionEnd());
}
}
class
Paste
implements
ActionListener {
public
void
actionPerformed(ActionEvent e)
{
Transferable clipData = Cboard.getContents(
ClipboardJavaExample.
this
);
try
{
String clipString
= (String)clipData.getTransferData(
DataFlavor.stringFlavor);
TextArea.replaceRange(
clipString,
TextArea.getSelectionStart(),
TextArea.getSelectionEnd());
}
catch
(Exception ex) {
System.err.println(
"NOT WORKING PROPERLY"
);
}
}
}
public
static
void
main(String[] args)
{
JFrame frame =
new
ClipboardJavaExample();
frame.setTitle(
"Application of Clipboard In Java Programming!"
);
frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
frame.setSize(
320
,
200
);
frame.setVisible(
true
);
}
}