新手求助:java中的复制与粘贴 请问高手:在模拟windows中计算器时怎样用java实现复制和粘贴功能啊?本人是新手,在网上找的好多都 看不懂 希望答案能详细点哦! 谢谢!~!~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主截止到2008-06-20 19:55:15的汇总数据:注册日期:2008-5-22上次登录:2008-6-20发帖数:1 发帖分:20 结贴数:0 结贴分:0 结贴率:0.00 % 结分率:0.00 % 如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html /** * 写入文本到剪切板(相当于复制) * @param str 待写入的文本 */ public static void writeToSysClipboard(String str) { Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable text = new StringSelection(str); sysClip.setContents(text, null); } /** * 获取系统剪切板中的文本(相当于粘贴) * @return 系统剪切板中的文本 */ public static String getSysClipboardText() { String ret = ""; Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard(); // 获取剪切板中的内容 Transferable clipTf = sysClip.getContents(null); if(clipTf != null) { // 检查内容是否是文本类型 if(clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) { try { ret = (String)clipTf.getTransferData(DataFlavor.stringFlavor); } catch(Exception e) { e.printStackTrace(); } } } return ret; } hoho,针对实际问题还有更简单的如果使用的是JTextField或JTextArea,那可以有以下三个方法调用text.copy(); //复制到系统剪切板text.cut(); //剪切到系统剪切板text.paste();//把系统剪切板内的文本粘贴到text中其中text是指JTextField或JTextArea实例。 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; TextArea text1; Clipboard clipboard=null; Test() { clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。 menubar=new MenuBar(); menu=new Menu("Edit"); copy=new MenuItem("copy"); cut=new MenuItem ("cut"); text1=new TextArea(20,20); //文本框 copy.addActionListener(this); cut.addActionListener(this); setLayout(new FlowLayout()); menubar.add(menu); menu.add(copy); menu.add(cut); 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 (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中删除被选取的文本。 } } public static void main(String args[]) { Test win=new Test(); } } 请问,在linux下的程序中执行一个jar包文件,为什么我执行不了 JAVA中数组初始化的问题 ResultSet更新不了数据 1.5转1.4的泛型问题 quartz的问题(急问) 找某集合中任意元素之和最接近于一指定值的所有的元素的算法 大家来说说static属性和方法的优点和缺点 求段代码 请教一个字符程序,看有没有更好的方法? java web server2.0那里有下载!谢谢了!最高告诉我如何使用。。。一个初学者 不知道这是什么错误,应该怎么改正 sql server &&java(谢谢)
楼主截止到2008-06-20 19:55:15的汇总数据:
注册日期:2008-5-22
上次登录:2008-6-20
发帖数:1 发帖分:20
结贴数:0 结贴分:0
结贴率:0.00 % 结分率:0.00 %
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
/**
* 写入文本到剪切板(相当于复制)
* @param str 待写入的文本
*/
public static void writeToSysClipboard(String str)
{
Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable text = new StringSelection(str);
sysClip.setContents(text, null);
} /**
* 获取系统剪切板中的文本(相当于粘贴)
* @return 系统剪切板中的文本
*/
public static String getSysClipboardText()
{
String ret = "";
Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
// 获取剪切板中的内容
Transferable clipTf = sysClip.getContents(null); if(clipTf != null)
{
// 检查内容是否是文本类型
if(clipTf.isDataFlavorSupported(DataFlavor.stringFlavor))
{
try
{
ret = (String)clipTf.getTransferData(DataFlavor.stringFlavor);
}
catch(Exception e)
{
e.printStackTrace();
}
}
} return ret;
}
如果使用的是JTextField或JTextArea,那可以有以下三个方法调用
text.copy(); //复制到系统剪切板
text.cut(); //剪切到系统剪切板
text.paste();//把系统剪切板内的文本粘贴到text中
其中text是指JTextField或JTextArea实例。
import java.awt.event.*;
import java.awt.datatransfer.*;
public class Test extends Frame implements ActionListener
{ MenuBar menubar; Menu menu;
MenuItem copy,cut;
TextArea text1;
Clipboard clipboard=null;
Test()
{ clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。
menubar=new MenuBar();
menu=new Menu("Edit");
copy=new MenuItem("copy");
cut=new MenuItem ("cut");
text1=new TextArea(20,20); //文本框
copy.addActionListener(this);
cut.addActionListener(this);
setLayout(new FlowLayout());
menubar.add(menu);
menu.add(copy);
menu.add(cut);
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 (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中删除被选取的文本。
}
}
public static void main(String args[])
{ Test win=new Test();
}
}