Tanpa basa-basi lagi langsung saja ke kodenya Sob, silahkan baca komentarnya dengan seksama.
Copy kode kodenya sebagai berikut:
/* Operasi fungsi salin, potong dan tempel sederhana:
Tes Salin: Masukkan teks, pilih teks, klik Salin, lalu tempatkan kursor pada TextArea di sebelah kanan, klik Tempel. Tes Potong: Masukkan teks, pilih teks, lalu letakkan kursor pada TextArea di sebelah kanan, klik Potong.
*/
import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
Demo kelas publik mengimplementasikan ActionListener
{
JFrame pribadi jf;
private JPanel p1, p2, p3; //atas, tengah dan bawah
judul JLabel pribadi;
edit JTextArea pribadi, showMsg;
salin, tempel, potong JButton pribadi;
Papan klip papan klip;//Dapatkan papan klip sistem.
Demo publik()
{
ini.init();
}
// inisialisasi antarmuka
kekosongan publik init()
{
jf = new JFrame("Salin dan Tempel");
p1 = JPanel baru(); //Judul penyimpanan
p2 = JPanel baru();//Penyimpanan JTextArea showMsg
p3 = JPanel baru(); //tombol Penyimpanan
title = new JLabel("Salin, Tempel, dan Potong Demo");
edit = new JTextArea("Silakan masukkan konten",15,25);
edit.setLineWrap(benar);
showMsg = JTextArea baru(15,25);
showMsg.setLineWrap(benar);
showMsg.setEnabled(salah);
salin = new JButton("Salinan");
tempel = new JButton("Tempel");
potong = JButton baru("potong");
papan klip = jf.getToolkit().getSystemClipboard();
p1.setLayout(FlowLayout baru());
p1.setUkuran(599,30);
p1.tambahkan(judul);
p2.setLayout(FlowLayout baru());
p2.setBackground(Warna.abu-abu);
p2.tambahkan(edit);
p2.tambahkan(tunjukkanPesan);
p3.setLayout(FlowLayout baru());
p3.tambahkan(salin);
p3.tambahkan(tempel);
p3.tambahkan(potong);
//Tambahkan mekanisme mendengarkan acara
copy.addActionListener(ini);
tempel.addActionListener(ini);
cut.addActionListener(ini);
// this.copyStr(salinan);
jf.add(p1, BorderLayout.UTARA);
jf.add(p2, BorderLayout.CENTER);
jf.add(p3, BorderLayout.SELATAN);
jf.setLocation(400.200);
jf.setSize(600.450);
jf.setResizable(salah);
jf.setVisible(benar);
}
//penanganan acara
tindakan kekosongan publikDilakukan(ActionEvent e)
{
if(e.getSource() == salin)
{
String tempText = edit.getSelectedText(); //Seret mouse untuk memilih teks
//Buat Transferable yang dapat mentransfer String yang ditentukan.
StringSeleksi editTeks =
StringSelection baru (tempText);
/**
Mengatur konten clipboard saat ini ke objek yang dapat ditransfer,
Dan mendaftarkan pemilik clipboard yang ditentukan sebagai pemilik konten baru.
*/
clipboard.setContents(editTeks,null);
}else if(e.getSource() == potong)
{
String tempText = edit.getSelectedText();
StringSeleksi editTeks =
StringSelection baru (tempText);
clipboard.setContents(editTeks,null);
int mulai= edit.getSelectionStart();
int akhir = edit.getSelectionEnd();
showMsg.replaceRange("",start,end); //Hapus teks yang dipilih dari Text1.
}else if(e.getSource() == tempel)
{
Konten yang dapat ditransfer = clipboard.getContents(ini);
Rasa DataFlavor= DataFlavor.stringFlavor;
if( isi.isDataFlavorSupported(rasa))
{
mencoba
{
Tali str;
str = (String)isi.getTransferData(rasa);
showMsg.append(str);
}menangkap(Pengecualian ex)
{
ex.printStackTrace();
}
}
}
}
public static void main(String[] args)
{
Demo baru();
}
}
Kode ini sangat sederhana dan mudah digunakan. Jika kalian punya ide yang lebih baik, pastikan untuk memberi tahu saya.