java实现文本的选择性复制

java实现文本的左右复制

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class copy
{	JFrame frame = new JFrame ("输入文本复制");
	JTextArea ta1,ta2;
	JButton copy1,copy2;

	public static void main(String args[])
	{	copy tad = new copy();
		tad.go();
	}

	public void go()
	{	ta1 = new JTextArea(20,20);
		ta1.setSelectedTextColor(Color.blue);	//设置选中文本的颜色为蓝色
		ta2 = new JTextArea(20,20);
		ta2.setSelectedTextColor(Color.red);	//设置选中为红色

		//放置到JScrollPane中
		JScrollPane jsp1 = new JScrollPane(ta1,
			JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
			JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		JScrollPane jsp2 = new JScrollPane(ta2,
			JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
			JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

		copy1 = new JButton("————>");
		//将ta1中选中文本或所有内容复制到ta2
		copy1.addActionListener(new ActionListener()
		{	public void actionPerformed(ActionEvent e)
			{	if (ta1.getSelectedText()!=null)
					ta2.append(ta1.getSelectedText()+"\n");
				else
					ta2.append("\n"+ta1.getText()+"\n");
			}
		});

		copy2 = new JButton("<————");
		//将ta1中选中文本或所有内容复制到ta2
		copy2.addActionListener(new ActionListener()
		{	public void actionPerformed(ActionEvent e)
			{	if (ta2.getSelectedText()!=null)
					ta1.append(ta2.getSelectedText()+"\n");
				else
					ta1.append("\n"+ta2.getText()+"\n");
			}
		});

		JPanel panel1 = new JPanel();
		panel1.add(jsp1);
		Border etched = BorderFactory.createEtchedBorder();
		panel1.setBorder(etched);
		
		JPanel panel2 = new JPanel();
		panel2.add(copy1);
		panel2.add(copy2);

		JPanel panel3 = new JPanel();
		panel3.add(jsp2);
		panel3.setBorder(etched);
		

		Container cp = frame.getContentPane();
		cp.add(panel1,BorderLayout.WEST);
		cp.add(panel2,BorderLayout.CENTER);
		cp.add(panel3,BorderLayout.EAST);

		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.pack();
		frame.setSize(700,500);
		frame.setVisible(true);
	}
}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值