package moo;
import java.awt.Desktop.Action;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.InputEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.AbstractAction;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.text.DefaultEditorKit;
import javax.swing.text.JTextComponent;
import javax.swing.text.Keymap;
public class NoCopyPasteFrame {
private JFrame myFrame;
private JTextField myTextField;
public void doit() {
myFrame = new JFrame("no cut and paste");
myFrame.setSize(400, 200);
myFrame.setLocation(100, 100);
myFrame.setLayout(new java.awt.FlowLayout());
myTextField = new JTextField(20);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextComponent.KeyBinding[] newBindings = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
DefaultEditorKit.writableAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
DefaultEditorKit.writableAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
DefaultEditorKit.writableAction)
};
Keymap k = myTextField.getKeymap();
JTextComponent.loadKeymap(k, newBindings, myTextField.getActions());
myFrame.add(myTextField);
myFrame.addWindowListener(new WindowAdapter() {
public void windowOpened(WindowEvent e) {
myTextField.requestFocus();
}
public void windowActivated(WindowEvent e) {
boolean focus = myTextField.requestFocusInWindow();
if (focus) {
System.out.println("Focus successful");
} else {
System.out.println("Focus unsuccessful");
}
}
});
myFrame.setVisible(true);
}
public static void main(String args[]) {
new NoCopyPasteFrame().doit();
}
}