Duy Dinh - 2012-04-04

/*

* Duy Dinh, University of Toulouse,

* 03 April 2012

* Demonstrate the difference between JTextArea vs. JScrollPane

/

package tests;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class SimpleTextEditor extends JFrame {

// text area
JTextArea textArea = new JTextArea();
// text editor pane
JEditorPane textEditorPane = new JEditorPane();
public SimpleTextEditor() {
    // Define the default dimension of this frame
    Dimension d = new Dimension(1000, 600);
    this.setPreferredSize(d);

    // Text editor area
    textArea.setText("Enter your text here");
    // its scroll bar for which the view port is text area
    JScrollPane jsp = new JScrollPane(textArea);

    // ... Get the content pane, set border layout
    JPanel contentPanel = new JPanel();
    contentPanel.setLayout(new BorderLayout());
    // add text area on the left (WEST) side
    contentPanel.add(jsp, BorderLayout.WEST);

    // another text area on the right side
    textArea = new JTextArea();
    textArea.setText("Enter another text here ...");
    jsp = new JScrollPane(textArea);
    contentPanel.add(jsp, BorderLayout.EAST);

    // Text editor area
    textEditorPane.setText("Enter your text here");
    // its scroll bar for which the view port is text area
    JScrollPane jsp1 = new JScrollPane(textEditorPane);
    contentPanel.add(jsp1, BorderLayout.CENTER);

    JPanel panel = new JPanel();
    JButton btn = new JButton();
    btn.setText("Click me");
    panel.add(btn);
    btn = new JButton("Close");
    btn.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            closeFrame();

        }
    });
    panel.add(btn);
    contentPanel.add(panel, BorderLayout.SOUTH);

    // set frame content pane
    this.setContentPane(contentPanel);
    // and its properties
    this.setTitle("A simple text editor");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    // finally repaint this frame
    this.pack();
}

void closeFrame() {
    this.dispose();
}

public static void main(String[] args) {
    new SimpleTextEditor().setVisible(true);
}

}