Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package textedit;
- import java.awt.BorderLayout;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyEvent;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.util.Scanner;
- import javax.swing.JCheckBoxMenuItem;
- import javax.swing.JFileChooser;
- import javax.swing.JFrame;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JTextArea;
- import javax.swing.KeyStroke;
- public class TextEdit implements ActionListener {
- /**
- *
- */
- private static final long serialVersionUID = -3491321526874204693L;
- int fontSize = 14;
- String fontName = "Times New Roman";
- int fontType = Font.PLAIN;
- JTextArea output;
- JScrollPane scrollPane;
- JMenuBar bar;
- JMenu file, textStyle;
- JMenuItem newFile, open, save, saveas, font, size, color;
- JCheckBoxMenuItem bold, italics, underline;
- Font currentFont;
- JFileChooser fc;
- Component openedFile;
- File fileOpened;
- String allLines;
- boolean isNewFile = false;
- public static void main(String[] args) {
- javax.swing.SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- create();
- }
- });
- }
- public static void create() {
- JFrame frame = new JFrame();
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- TextEdit te = new TextEdit();
- frame.setContentPane(te.createContentPane());
- frame.setJMenuBar(te.createMenuBar());
- frame.setSize(400, 600);
- frame.setVisible(true);
- frame.setTitle("Text Editor v. 1c");
- }
- public Container createContentPane() {
- JPanel contentPane = new JPanel(new BorderLayout());
- contentPane.setOpaque(true);
- output = new JTextArea(5, 30);
- output.setEditable(true);
- scrollPane = new JScrollPane(output);
- contentPane.add(scrollPane, BorderLayout.CENTER);
- return contentPane;
- }
- public JMenuBar createMenuBar() {
- bar = new JMenuBar();
- file = new JMenu("File");
- textStyle = new JMenu("Text Styles");
- newFile = new JMenuItem("New");
- newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
- KeyEvent.VK_ALT));
- newFile.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- System.out.println("NEW FILE");
- }
- });
- file.add(newFile);
- open = new JMenuItem("Open");
- open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
- KeyEvent.VK_ALT));
- open.addActionListener(this);
- file.add(open);
- save = new JMenuItem("Save");
- save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
- KeyEvent.VK_ALT));
- save.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- }
- });
- file.add(save);
- saveas = new JMenuItem("Save As");
- saveas.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
- KeyEvent.VK_ALT));
- saveas.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- fc = new JFileChooser();
- int returnVal = fc.showSaveDialog(newFile);
- }
- });
- file.add(saveas);
- font = new JMenuItem("Change Font");
- font.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,
- KeyEvent.VK_ALT));
- font.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- fontName = JOptionPane.showInputDialog("Enter Font Name: ");
- currentFont = new Font(fontName, fontType, fontSize);
- output.setFont(currentFont);
- }
- });
- textStyle.add(font);
- size = new JMenuItem("Change Size");
- size.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,
- KeyEvent.VK_ALT));
- size.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- fontSize = Integer.parseInt(JOptionPane
- .showInputDialog("Enter Size: "));
- currentFont = new Font(fontName, fontType, fontSize);
- output.setFont(currentFont);
- }
- });
- textStyle.add(size);
- bold = new JCheckBoxMenuItem("Bold");
- bold.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,
- KeyEvent.VK_ALT));
- bold.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (bold.isSelected()) {
- fontType = Font.BOLD;
- currentFont = new Font(fontName, fontType, fontSize);
- output.setFont(currentFont);
- } else {
- fontType = Font.PLAIN;
- currentFont = new Font(fontName, fontType, fontSize);
- output.setFont(currentFont);
- }
- }
- });
- textStyle.add(bold);
- bar.add(file);
- bar.add(textStyle);
- return bar;
- }
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == open) {
- fc = new JFileChooser();
- int returnVal = fc.showOpenDialog(createContentPane());
- if (returnVal == JFileChooser.APPROVE_OPTION) {
- System.out.println("File Approved");
- output.removeAll();
- fileOpened = fc.getSelectedFile();
- System.out.println("Opening " + fileOpened.getName());
- Scanner reader = null;
- try {
- reader = new Scanner(new FileInputStream(fileOpened));
- } catch (FileNotFoundException fnf) {
- fnf.printStackTrace();
- }
- String lines[];
- int i = 0;
- while (true) {
- if (!reader.hasNext()) {
- break;
- }
- System.out.println("Next line");
- reader.nextLine();
- i++;
- }
- try {
- reader = new Scanner(new FileInputStream(fileOpened));
- } catch (FileNotFoundException fnf) {
- }
- lines = new String[i];
- allLines = "";
- for (int j = 0; j < i; j++) {
- lines[j] = reader.nextLine();
- allLines += lines[j] + "\n";
- }
- System.out.println(allLines);
- }
- output.setText(allLines);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement