Dynamic application
TextAreaDemo.java
// Fig. 12.48: TextAreaDemo.java // Copying selected text from one textarea to another. import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.Box; import javax.swing.JFrame; import javax.swing.JTextArea; import javax.swing.JButton; import javax.swing.JScrollPane; class TextAreaFrame extends JFrame { private final JTextArea textArea1; // displays demo string private final JTextArea textArea2; // highlighted text is copied here private final JButton copyJButton; // initiates copying of text // no-argument constructor public TextAreaFrame() { super("TextArea Demo"); Box box = Box.createHorizontalBox(); // create box String demo = "This is a demo string to\n" + "illustrate copying text\nfrom one textarea to \n" + "another textarea using an\nexternal event\n"; textArea1 = new JTextArea(demo, 10, 15); box.add(new JScrollPane(textArea1)); // add scrollpane copyJButton = new JButton("Copy >>>"); box.add(copyJButton); // add copy button to box copyJButton.addActionListener( new ActionListener() // anonymous inner class { // set text in textArea2 to selected text from textArea1 @Override public void actionPerformed(ActionEvent event) { textArea2.setText(textArea1.getSelectedText()); } } // end anonymous inner class ); // end call to addActionListener textArea2 = new JTextArea(10, 15); textArea2.setEditable(false); box.add(new JScrollPane(textArea2)); // add scrollpane add(box); // add box to frame } // end TextAreaFrame constructor } // end class TextAreaFrame public class TextAreaDemo { public static void main(String[] args) { TextAreaFrame textAreaFrame = new TextAreaFrame(); textAreaFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); textAreaFrame.setSize(425, 200); textAreaFrame.setVisible(true); } } // end class TextAreaDemo
Maintained by John Loomis, updated Thu Feb 09 21:32:35 2017