写字板中一个“剪切”按钮,我如何用JAVA才能实现剪切功能? 希望详细点。最好有个小例子。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵~~仓促中给你写个例子,希望对你有所帮助,实现从左边窗口中剪切到右窗口。import javax.swing.JFrame;import java.awt.event.ActionListener;import javax.swing.JMenuBar;import javax.swing.JMenu;import javax.swing.JMenuItem;import java.awt.event.ActionEvent;import javax.swing.JTextArea;import javax.swing.JPanel;import java.awt.datatransfer.StringSelection;import java.awt.datatransfer.Clipboard;import java.awt.Toolkit;import java.awt.datatransfer.Transferable;import java.awt.datatransfer.DataFlavor;public class Trans extends JFrame { JMenuBar jMenuBar1 = new JMenuBar(); JMenu jMenu1 = new JMenu("Edit"); JMenuItem cut = new JMenuItem("Cut"); JMenuItem paste = new JMenuItem("Paste"); JTextArea text1 = new JTextArea(20, 20); JTextArea text2 = new JTextArea(20, 20); JPanel contentPane = new JPanel(); Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); public Trans(String s) { super(s); jMenuBar1.add(jMenu1); jMenu1.add(cut); jMenu1.add(paste); this.setJMenuBar(jMenuBar1); contentPane.add(text1); contentPane.add(text2); this.setContentPane(contentPane); cut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { String temp = text1.getSelectedText(); StringSelection text = new StringSelection(temp); clipboard.setContents(text, null); int nStart = text1.getSelectionStart(); int nEnd = text1.getSelectionEnd(); text1.replaceRange("", nStart, nEnd); } }); paste.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { Transferable contents = clipboard.getContents(this); DataFlavor flavor = DataFlavor.stringFlavor; if(contents.isDataFlavorSupported(flavor)) { try { String str = (String)contents.getTransferData(flavor); text2.append(str); } catch (Exception e) { text1.setText(e.getMessage()); } } } }); this.setBounds(100, 100, 500, 450); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.show(); } public static void main(String[] args) { new Trans("Demo Clipborad"); }} java必须捕捉的异常都有哪些 java.lang.NullPointerException acegi Re:大家都来做一做这题,看谁的最简单明了 怎么把零散的年、月、日变量赋值给date对象。 我在panel上绘的乐谱图,如果窗体被快速拖动,图形就会消失,如何解决? 谁听说过或用过FreeJava? java书籍介绍 rmi的问题?不懂,奇怪! 如何把小应用程序放在HTM文件中? 把二维数组排序成目录树结构的难题?(急,立结) 怎样可以把水晶报表和java结合起来实现b/s方式上的客户端打印?
仓促中给你写个例子,希望对你有所帮助,实现从左边窗口中剪切到右窗口。
import javax.swing.JFrame;
import java.awt.event.ActionListener;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionEvent;
import javax.swing.JTextArea;
import javax.swing.JPanel;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Clipboard;
import java.awt.Toolkit;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.DataFlavor;public class Trans extends JFrame {
JMenuBar jMenuBar1 = new JMenuBar(); JMenu jMenu1 = new JMenu("Edit"); JMenuItem cut = new JMenuItem("Cut"); JMenuItem paste = new JMenuItem("Paste"); JTextArea text1 = new JTextArea(20, 20); JTextArea text2 = new JTextArea(20, 20);
JPanel contentPane = new JPanel();
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); public Trans(String s) {
super(s);
jMenuBar1.add(jMenu1);
jMenu1.add(cut);
jMenu1.add(paste);
this.setJMenuBar(jMenuBar1);
contentPane.add(text1);
contentPane.add(text2);
this.setContentPane(contentPane);
cut.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
String temp = text1.getSelectedText();
StringSelection text = new StringSelection(temp);
clipboard.setContents(text, null);
int nStart = text1.getSelectionStart();
int nEnd = text1.getSelectionEnd();
text1.replaceRange("", nStart, nEnd);
}
});
paste.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
Transferable contents = clipboard.getContents(this);
DataFlavor flavor = DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor)) {
try {
String str = (String)contents.getTransferData(flavor);
text2.append(str);
} catch (Exception e) {
text1.setText(e.getMessage());
}
}
}
});
this.setBounds(100, 100, 500, 450);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.show();
}
public static void main(String[] args) {
new Trans("Demo Clipborad");
}
}