import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.text.Document;
//实现JTextfield 的复制、剪切、粘贴功能。
public class MJTextField extends JTextField implements MouseListener {
private JPopupMenu pop = null; // 弹出菜单
private JMenuItem copy = null, paste = null, cut = null; // 三个功能菜单
public MJTextField() {
super();
init();
}
public MJTextField(int columns){
super(columns);
init();
}
public MJTextField(String text){
super(text);
init();
}
public MJTextField(String text, int columns){
super(text, columns);
init();
}
public MJTextField(Document doc, String text, int columns){
super(doc, text, columns);
init();
}
private void init() {
this.addMouseListener(this);
pop = new JPopupMenu();
pop.add(copy = new JMenuItem("复制"));
pop.add(paste = new JMenuItem("粘贴"));
pop.add(cut = new JMenuItem("剪切"));
copy.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_MASK))
具备复制粘贴功能的JTextField和JTextArea
最新推荐文章于 2021-02-19 07:00:02 发布
本文介绍了如何在Java Swing应用中为JTextField和JTextArea组件添加复制和粘贴功能,使得用户能够方便地进行文本操作。通过监听键盘事件和调用系统的剪贴板API,实现了标准的Ctrl+C复制和Ctrl+V粘贴功能。
摘要由CSDN通过智能技术生成