GUI文本域复制文本练习

package javademo;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class table4 extends JFrame{
	private Container container;
	private JTextArea ta1,ta2;
	private JButton bt1,bt2,bt3;
	public table4() {
		container=this.getContentPane();//获取内容窗格
		ta1=new JTextArea(3,15);
		ta1.setSelectedTextColor(Color.red);//设置选中文本的颜色
		ta2=new JTextArea(7,15);
		ta2.setEditable(false);//设置第二个文本域不可编辑.只显示信息
		JScrollPane scrollpane1=new JScrollPane(ta1,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		JScrollPane scrollpane2=new JScrollPane(ta2,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		bt1=new JButton("复制");
		bt2=new JButton("清除");
		bt3=new JButton("Reset");
		bt1.addActionListener(new ActionLis());
		bt2.addActionListener(new ActionLis());
		bt3.addActionListener(new ActionLis());//注册监听程序
		JPanel panel=new JPanel();
		panel.add(scrollpane1);
		panel.add(bt1);
		panel.add(bt3);
		JPanel panel2=new JPanel();
		panel2.add(scrollpane2);
		panel2.add(bt2);
		container.add(panel,BorderLayout.CENTER);
		container.add(panel2,BorderLayout.SOUTH);
		this.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		this.setTitle("文本内容复制");
		this.setSize(600,450);
		this.setVisible(true);
	}
		class ActionLis implements ActionListener{
			public void actionPerformed(ActionEvent e)
		{
			if(e.getSource()==bt1) {
				if(ta1.getSelectedText()!=null)
					ta2.append(ta1.getSelectedText()+"
");//把第一个文本域中选择的内容添加到第二个文本域中
				else
					ta2.append(ta1.getText()+"
");//把第一个文本域中的内容全部添加到第二个文本域中
			}
			else if(e.getSource()==bt2) {
				ta2.setText("");//如果单击清除按钮,清空第二个文本域的内容
			}
			else {
				ta1.setText("");//如果点击Reset清空两个文本域里的所有内容
				ta2.setText("");
			}
		}
		
	}
	public static void main(String []args) {
		new table4();
	}

}

  运行结果:

原文地址:https://www.cnblogs.com/mianyang0902/p/10886133.html