Projects

java project ideas

You are not Member of this Project.
Project Owner : SubashiniV
Created Date : Tue, 13/09/2011 - 17:02
Project Description :

 

// editor/NutPad.java -- A very simple text editor -- Fred Swartz - 2004-08
// Illustrates use of AbstractActions for menus.
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
 
public class NutPad extends JFrame {
    //-- Components 
    private JTextArea mEditArea;
    private JFileChooser mFileChooser = new JFileChooser(".");
    
    //-- Actions
    private Action mOpenAction;
    private Action mSaveAction;
    private Action mExitAction;
    
    //===================================================================== main
    public static void main(String[] args) {
        new NutPad().setVisible(true);
    }//end main
    
    //============================================================== constructor
    public NutPad() {
        createActions();
        this.setContentPane(new contentPanel());
        this.setJMenuBar(createMenuBar());
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setTitle("NutPad");
        this.pack();
    }//end constructor
 
    ///////////////////////////////////////////////////////// class contentPanel
    private class contentPanel extends JPanel {        
        //========================================================== constructor
        contentPanel() {
            //-- Create components.
            mEditArea = new JTextArea(15, 80);
                mEditArea.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
                mEditArea.setFont(new Font("monospaced", Font.PLAIN, 14));
            JScrollPane scrollingText = new JScrollPane(mEditArea);
            
            //-- Do layout
            this.setLayout(new BorderLayout());
            this.add(scrollingText, BorderLayout.CENTER);
        }//end constructor
    }//end class contentPanel
    
    //============================================================ createMenuBar
    /** Utility function to create a menubar. */
    private JMenuBar createMenuBar() {
        JMenuBar menuBar = new JMenuBar();
            JMenu fileMenu = menuBar.add(new JMenu("File"));
                fileMenu.add(mOpenAction);  // Note use of actions, not text.
                fileMenu.add(mSaveAction);
                fileMenu.addSeparator(); 
                fileMenu.add(mExitAction);
        return menuBar;
    }//end createMenuBar
    
    //============================================================ createActions
    /** Utility function to define actions. */
    private void createActions() {
        mOpenAction = new AbstractAction("Open...") {
            public void actionPerformed(ActionEvent e) {
                int retval = mFileChooser.showOpenDialog(NutPad.this);
                if (retval == JFileChooser.APPROVE_OPTION) {
                    File f = mFileChooser.getSelectedFile();
                    try {
                        FileReader reader = new FileReader(f);
                        mEditArea.read(reader, "");  // Use TextComponent read
                    } catch (IOException ioex) {
                        System.out.println(e);
                        System.exit(1);
                    }
                }
            }
        };
        
        mSaveAction = new AbstractAction("Save") {
            public void actionPerformed(ActionEvent e) {
                int retval = mFileChooser.showSaveDialog(NutPad.this);
                if (retval == JFileChooser.APPROVE_OPTION) {
                    File f = mFileChooser.getSelectedFile();
                    try {
                        FileWriter writer = new FileWriter(f);
                        mEditArea.write(writer);  // Use TextComponent write
                    } catch (IOException ioex) {
                        System.out.println(e);
                        System.exit(1);
                    }
                }
            }
        };
        
        mExitAction = new AbstractAction("Exit") {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        };
    }//end createActions    
}//end class NutPadCopyleft 2004  HYPERLINK "http://www.fredosaurus.com/" Fred Swartz 
 
You are not authorized to access this content.
You are not authorized to access this content.
You are not authorized to access this content.
You are not authorized to access this content.
You are not authorized to access this content.