Mega Code Archive

 
Categories / Java / Development Class
 

Internationalized Graphical User Interfaces

/* 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);   } }