社区
Java SE
帖子详情
如何在JAVA中实现撤销,剪切,复制,粘贴4大功能
fjh1119
2005-01-01 04:27:35
小弟初学JAVA,写一个很简单的Notepad。
请问各路高手,如何用代码实现将选中的文本进行上述的4大功能操作?
怎样才能截获鼠标所选中的文本?
...全文
1729
19
打赏
收藏
如何在JAVA中实现撤销,剪切,复制,粘贴4大功能
小弟初学JAVA,写一个很简单的Notepad。 请问各路高手,如何用代码实现将选中的文本进行上述的4大功能操作? 怎样才能截获鼠标所选中的文本?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bbmyth
2005-01-02
打赏
举报
回复
受用了。谢谢
zzzle
2005-01-02
打赏
举报
回复
快捷键是同样的,Ctrl+c,Ctrl+v,Ctrl+x,Ctrl+z,不写任何代码也能实现上述功能
song3721
2005-01-02
打赏
举报
回复
studying...
superman421
2005-01-02
打赏
举报
回复
mark
wadsunglow
2005-01-02
打赏
举报
回复
如果需要的话我给你发个比较完整点的记事本例子
QQ:99403260
wadsunglow
2005-01-02
打赏
举报
回复
textArea.paste();
textArea.copy();
textArea.cut();
xjyngl
2005-01-02
打赏
举报
回复
JTextField提供了undo/redo的方法,你只要在你写的类中首先定义一个UNDOMANAGER .UndoManager mg = new UndoManager();然后继承UndoableEditListener.,在实现的方法中 public void undoableEditHappened(UndoableEditEvent parm1) {
mg.addEdit(parm1.getEdit());//将EDIT注册到UNDOMANAGER中
}然后给JTextField添加jTextArea1.getDocument().addUndoableEditListener(this);.增加两个BUTTON,一个实现UNDO,一个实现REDO.UDNO方法: public void undo() {
mg.undo();
}
REDO方法
public void redo() {
mg.redo();
}
试试.很管用.如果不是要实现JTEXTFIELD的UNDOREDO可能就需要自己写UNDO/REDO的方法,但思想都是一样的.
御南
2005-01-02
打赏
举报
回复
有个专门的类就是undo和redo的,谁能讲解一下啊!~
km3
2005-01-02
打赏
举报
回复
mark
sxj0608
2005-01-01
打赏
举报
回复
学习一下 :redo undo
fjh1119
2005-01-01
打赏
举报
回复
在写撤销的时候,怎么样最好?
nwpulipeng
2005-01-01
打赏
举报
回复
以前看到过notepad的例子代码,我找找。。。
fjh1119
2005-01-01
打赏
举报
回复
小弟在测试:
textArea.paste();
textArea.copy();
textArea.cut();
都能搞定
classjava写的很规范
yuheng_gdut
2005-01-01
打赏
举报
回复
接楼上 文档里有写:
public void copy()
Transfers the currently selected range in the associated text model to the system clipboard, leaving the contents in the text model. The current selection remains intact. Does nothing for null selections.
yuheng_gdut
2005-01-01
打赏
举报
回复
小弟我也刚学JAVA不久,好像复制粘贴剪切只需要textArea.paste();textArea.copy();textArea.cut();就搞定了。
jgsfy
2005-01-01
打赏
举报
回复
学习
up
yanudd
2005-01-01
打赏
举报
回复
不错,学习,哈哈
classjava
2005-01-01
打赏
举报
回复
要用到java.awt.datatransfer包中的Clipboard类
import java.awt.*;import java.awt.event.*;
import java.awt.datatransfer.*;
public class Test extends Frame implements ActionListener
{ MenuBar menubar; Menu menu;
MenuItem copy,cut,paste;
TextArea text1,text2;
Clipboard clipboard=null;
Test()
{ clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。
menubar=new MenuBar();
menu=new Menu("Edit"); copy=new MenuItem("copy");
cut=new MenuItem ("cut"); paste=new MenuItem ("paste");
text1=new TextArea(20,20); text2=new TextArea(20,20);
copy.addActionListener(this); cut.addActionListener(this);
paste.addActionListener(this);
setLayout(new FlowLayout());
menubar.add(menu);
menu.add(copy); menu.add(cut); menu.add(paste);
setMenuBar(menubar);
add(text1);add(text2);
setBounds(100,100,200,250); setVisible(true);pack();
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);
}
}) ;
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==copy) //拷贝到剪贴板。
{ String temp=text1.getSelectedText(); //拖动鼠标选取文本。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
}
else if(e.getSource()==cut) //剪贴到剪贴板。
{ String temp=text1.getSelectedText(); //拖动鼠标选取文本。
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);
int start=text1.getSelectionStart();
int end =text1.getSelectionEnd();
text1.replaceRange("",start,end) ; //从Text1中删除被选取的文本。
}
else if(e.getSource()==paste) //从剪贴板粘贴数据。
{ Transferable contents=clipboard.getContents(this);
DataFlavor flavor= DataFlavor.stringFlavor;
if( contents.isDataFlavorSupported(flavor))
try{ String str;
str=(String)contents.getTransferData(flavor);
text2.append(str);
}
catch(Exception ee){}
}
}
public static void main(String args[])
{ Test win=new Test();
}
}
cnidb
2005-01-01
打赏
举报
回复
帮顶.
java
复制
粘贴
剪切
方法代码_在
JAVA
中
实现
撤销
,
剪切
,
复制
,
粘贴
4大
功能
本文提供了一个
Java
示例程序,演示了如何使用
java
.awt.datatransfer包
中
的Clipboard类
实现
文本的
复制
、
剪切
及
粘贴
功能
。程序通过菜单项触发事件,将选定的文本放入剪贴板,并能从剪贴板
中
读取数据。
java
记事本
复制
粘贴
_【
Java
】记事本(含
剪切
、
复制
、
粘贴
、全选、
撤销
)核心设计...
这篇博客介绍了如何使用
Java
编写一个简易记事本,涵盖了文件的打开、保存
功能
,以及文本的
剪切
、
复制
、
粘贴
、全选和
撤销
操作的核心
实现
。博主通过FileDialog进行文件操作,并使用Clipboard类处理剪贴板内容。在文本编辑方面,博主详细讲解了如何处理
复制
、
剪切
和
粘贴
的逻辑,同时引入了UndoManager
实现
撤销
功能
。此外,还提到了JTextPane控件作为替代方案,以及JFileChooser用于文件选择的便利性。
记事本(含
剪切
、
复制
、
粘贴
、全选、
撤销
)核心设计
本文详细介绍了如何使用
Java
开发一个简易记事本应用,包括文件操作、文本编辑
功能
及
撤销
功能
的
实现
。
java
记事本源代码
本文展示了如何使用
Java
编程语言
实现
一个类似于电脑自带记事本的应用,包括新建、打开、保存、
撤销
、
剪切
、
复制
、
粘贴
等
功能
,并提供了源代码。程序还
实现
了查找、替换、转到特定行等高级操作,并具有自动换行和缩放视图的能力。
Linux---vi/vim
复制
剪切
粘贴
以及常用命令小结
本文详细介绍了在Linux操作系统
中
使用Vi/Vim编辑器的基本操作,包括
复制
、
剪切
、
粘贴
、
撤销
、屏幕翻页、光标移动、插入删除、以及退出编辑模式等常用指令,帮助用户快速掌握Vi/Vim的高效使用技巧。
Java SE
62,621
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章