CutAndPasteDemo.java Source code

Java tutorial

Introduction

Here is the source code for CutAndPasteDemo.java

Source

/*
Java Internationalization
By Andy Deitsch, David Czarnecki
    
ISBN: 0-596-00019-7
O'Reilly
*/
/*import java.io.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import javax.swing.*;
    
public class CutAndPasteDemo extends JFrame implements ClipboardOwner {
    
  private static String TEMPFILE = "CUTPASTE.TMP";
    
  String davidMessage = "David says, \"\u05E9\u05DC\u05D5\u05DD \u05E2\u05D5\u05DC\u05DD\" \n";
  String andyMessage = "Andy also says, \"\u05E9\u05DC\u05D5\u05DD \u05E2\u05D5\u05DC\u05DD\"";
    
  private Clipboard clipboard;
    
  public void lostOwnership(Clipboard clipboard, Transferable contents) {
System.out.println("Lost clipboard ownership");
  }
    
  JTextArea textArea1;
  JTextArea textArea2;
    
  public CutAndPasteDemo() {
super("Cut And Paste Demonstration");
    
clipboard = getToolkit().getSystemClipboard();
    
GraphicsEnvironment.getLocalGraphicsEnvironment();
Font font = new Font("LucidaSans", Font.PLAIN, 15);
textArea1 = new JTextArea(davidMessage + andyMessage, 5, 25);
textArea2 = new JTextArea("<Paste text here>", 5, 25);
textArea1.setFont(font);
textArea2.setFont(font);
    
JPanel jPanel = new JPanel();
JMenuBar jMenuBar = new JMenuBar();
JMenuItem cutItem = new JMenuItem("Cut");
JMenuItem pasteItem = new JMenuItem("Paste");
JMenu jMenu = new JMenu("Edit");
jMenu.add(cutItem);
jMenu.add(pasteItem);
    
cutItem.addActionListener(new CutActionListener());
pasteItem.addActionListener(new PasteActionListener());
    
jMenuBar.add(jMenu);
jPanel.add(jMenuBar);
    
jPanel.setLayout(new BoxLayout(jPanel,BoxLayout.Y_AXIS));
jPanel.add(textArea1);
jPanel.add(Box.createRigidArea(new Dimension(0,10)));
jPanel.add(textArea2);
    
getContentPane().add(jPanel, BorderLayout.CENTER);
  }
    
  class CutActionListener implements ActionListener {
    
public void actionPerformed (ActionEvent event) {
  try {
    if (textArea1.getSelectedText() != null) {
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(TEMPFILE), "UTF8"));
      bw.write(textArea1.getSelectedText());
      bw.close();
      textArea1.replaceSelection("");
    }
  } catch (Exception e) {
    e.printStackTrace();
  }
}
  }
    
  class PasteActionListener implements ActionListener {
    
public void actionPerformed (ActionEvent event) {
  try {
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(TEMPFILE), "UTF8"));
    StringBuffer text = new StringBuffer();
    String tempString;
    while ((tempString = br.readLine()) != null) {
      text.append(tempString);
    }
    br.close();
    textArea2.replaceSelection(text.toString());
  } catch (Exception e) {
  }
}
  }
    
  public static void main(String[] args) {
JFrame frame = new CutAndPasteDemo();
frame.addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent e) {System.exit(0);}
});
    
frame.pack();
frame.setVisible(true);
  }
}
*/

import java.io.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import javax.swing.*;

public class CutAndPasteDemo extends JFrame implements ClipboardOwner {

    private static String TEMPFILE = "CUTPASTE.TMP";

    String davidMessage = "David says, \"\u05E9\u05DC\u05D5\u05DD" + "\u05E2\u05D5\u05DC\u05DD\" \n";
    String andyMessage = "Andy also says, \"\u05E9\u05DC\u05D5\u05DD" + "\u05E2\u05D5\u05DC\u05DD\"";

    private Clipboard clipboard;

    public void lostOwnership(Clipboard clipboard, Transferable contents) {
        System.out.println("Lost clipboard ownership");
    }

    JTextArea textArea1;
    JTextArea textArea2;

    public CutAndPasteDemo() {
        super("Cut And Paste Demonstration");

        clipboard = getToolkit().getSystemClipboard();

        GraphicsEnvironment.getLocalGraphicsEnvironment();
        Font font = new Font("LucidaSans", Font.PLAIN, 15);
        textArea1 = new JTextArea(davidMessage + andyMessage, 5, 25);
        textArea2 = new JTextArea("<Paste text here>", 5, 25);
        textArea1.setFont(font);
        textArea2.setFont(font);

        JPanel jPanel = new JPanel();
        JMenuBar jMenuBar = new JMenuBar();
        JMenuItem cutItem = new JMenuItem("Cut");
        JMenuItem pasteItem = new JMenuItem("Paste");
        JMenu jMenu = new JMenu("Edit");
        jMenu.add(cutItem);
        jMenu.add(pasteItem);

        cutItem.addActionListener(new CutActionListener());
        pasteItem.addActionListener(new PasteActionListener());

        jMenuBar.add(jMenu);
        jPanel.add(jMenuBar);

        jPanel.setLayout(new BoxLayout(jPanel, BoxLayout.Y_AXIS));
        jPanel.add(textArea1);
        jPanel.add(Box.createRigidArea(new Dimension(0, 10)));
        jPanel.add(textArea2);

        getContentPane().add(jPanel, BorderLayout.CENTER);
    }

    class CutActionListener implements ActionListener {

        public void actionPerformed(ActionEvent event) {
            try {
                if (textArea1.getSelectedText() != null) {
                    BufferedWriter bw = new BufferedWriter(
                            new OutputStreamWriter(new FileOutputStream(TEMPFILE), "UTF8"));
                    bw.write(textArea1.getSelectedText());
                    bw.close();
                    textArea1.replaceSelection("");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    class PasteActionListener implements ActionListener {

        public void actionPerformed(ActionEvent event) {
            try {
                BufferedReader br = new BufferedReader(
                        new InputStreamReader(new FileInputStream(TEMPFILE), "UTF8"));
                StringBuffer text = new StringBuffer();
                String tempString;
                while ((tempString = br.readLine()) != null) {
                    text.append(tempString);
                }
                br.close();
                textArea2.replaceSelection(text.toString());
            } catch (Exception e) {
            }
        }
    }

    public static void main(String[] args) {
        JFrame frame = new CutAndPasteDemo();
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

        frame.pack();
        frame.setVisible(true);
    }
}