Results 1 to 4 of 4

Thread: Code Help

  1. #1
    Join Date
    Apr 2013
    Posts
    3
    Rep Power
    0

    Exclamation Code Help

    Hello,

    I am currently trying to implement a Save & Save As function to my code. I have a hard time figuring out where to start implementing the features, so if there are any hints, it would be greatly appreciated. The Save & Save As menu items have to be coded correctly into the "File" menu.

    Below is what I currently have so far:
    PHP Code:
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    
    import javax.swing.JOptionPane;
    
    public class JavaEdit extends Frame implements ActionListener {
    
    String clipBoard;
    String fileName;
    TextArea text;
    MenuItem newMI, openMI, saveMI, saveAsMI, exitMI;
    MenuItem cutMI, copyMI, deleteMI, pasteMI, selectallMI;
    MenuItem aboutjavaeditMI;
    
    /**
    * Constructor
    */
    public JavaEdit() {
    super("JavaEdit"); // set frame title
    setLayout(new BorderLayout()); // set layout
    
    // create menu bar
    MenuBar menubar = new MenuBar();
    setMenuBar(menubar);
    
    // create file menu
    Menu fileMenu = new Menu("File");
    menubar.add(fileMenu);
    newMI = fileMenu.add(new MenuItem("New"));
    newMI.addActionListener(this);
    openMI = fileMenu.add(new MenuItem("Open"));
    openMI.addActionListener(this);
    fileMenu.addSeparator();
    saveMI = fileMenu.add(new MenuItem("Save"));
    saveAsMI = fileMenu.add(new MenuItem("Save As ..."));
    fileMenu.addSeparator();
    exitMI = fileMenu.add(new MenuItem("Exit"));
    exitMI.addActionListener(this);
    
    // create edit menu
    Menu editMenu = new Menu("Edit");
    menubar.add(editMenu);
    cutMI = editMenu.add(new MenuItem("Cut"));
    cutMI.addActionListener(this);
    copyMI = editMenu.add(new MenuItem("Copy"));
    copyMI.addActionListener(this);
    pasteMI = editMenu.add(new MenuItem("Paste"));
    pasteMI.addActionListener(this);
    deleteMI = editMenu.add(new MenuItem("Delete"));
    deleteMI.addActionListener(this);
    selectallMI = editMenu.add(new MenuItem("Select All"));
    selectallMI.addActionListener(this);
    //create help menu
    Menu helpMenu = new Menu("Help");
    menubar.add(helpMenu);
    aboutjavaeditMI = helpMenu.add(new MenuItem("About JavaEdit"));
    aboutjavaeditMI.addActionListener(this);
    
    // create text editing area
    text = new TextArea();
    add(text, BorderLayout.CENTER);
    }
    
    // implementing ActionListener
    public void actionPerformed(ActionEvent event) {
    Object source = event.getSource();
    if(source == newMI) {
    clearText();
    fileName = null;
    setTitle("JavaEdit"); // reset frame title
    }
    else if(source == openMI) {
    doOpen();
    }
    else if(source == exitMI) {
    System.exit(0);
    }
    else if(source == cutMI) {
    doCopy();
    doDelete();
    }
    else if(source == copyMI) {
    doCopy();
    }
    else if(source == pasteMI) {
    doPaste();
    }
    else if(source == deleteMI) {
    doDelete();
    }
    else if(source == selectallMI) {
    text.selectAll();
    
    }
    else if(source == aboutjavaeditMI) {
    JOptionPane.showMessageDialog(this, "JavaEdit in Java, Version 2.1, 2013.", 
    "This is the Dialog Message", JOptionPane.PLAIN_MESSAGE);
    }
    else if(source == saveAsMI) {
    
    }
    else if(source == saveMI){
    	
    
    }
    }
    
    /**
    * method to specify and open a file
    */
    private void doOpen() {
    // display file selection dialog
    FileDialog fDialog = new FileDialog(this, "Open ...", FileDialog.LOAD);
    fDialog.setVisible(true);
    // Get the file name chosen by the user
    String name = fDialog.getFile();
    // If user canceled file selection, return without doing anything.
    if(name == null)
    return;
    fileName = fDialog.getDirectory() + name;
    
    // Try to create a file reader from the chosen file.
    FileReader reader=null;
    try {
    reader = new FileReader(fileName);
    } catch (FileNotFoundException ex) {
    MessageDialog dialog = new MessageDialog(this, "Error Message",
    "File Not Found: "+fileName);
    dialog.setVisible(true);
    return;
    }
    BufferedReader bReader = new BufferedReader(reader);
    
    // Try to read from the file one line at a time.
    StringBuffer textBuffer = new StringBuffer();
    try {
    String textLine = bReader.readLine();
    while (textLine != null) {
    textBuffer.append(textLine + '\n');
    textLine = bReader.readLine();
    }
    bReader.close();
    reader.close();
    } catch (IOException ioe) {
    MessageDialog dialog = new MessageDialog(this, "Error Message",
    "Error reading file: "+ioe.toString());
    dialog.setVisible(true);
    return;
    }
    setTitle("JavaEdit: " +name); // reset frame title
    text.setText(textBuffer.toString());
    }
    
    /**
    * method to clear text editing area
    */
    private void clearText() {
    text.setText("");
    }
    
    /**
    * method to copy selected text to the clipBoard
    */
    private void doCopy() {
    clipBoard = new String(text.getSelectedText());
    }
    /**
    * method to delete selected text
    */
    private void doDelete() {
    text.replaceRange("", text.getSelectionStart(), text.getSelectionEnd());
    }
    
    /**
    * method to replace current selection with the contents of the clipBoard
    */
    private void doPaste() {
    if(clipBoard != null) {
    text.replaceRange(clipBoard, text.getSelectionStart(),
    text.getSelectionEnd());
    }
    }
    
    public void selectAll() {
    if(clipBoard !=null) {
    clipBoard = new String(text.getSelectedText());
    }
    }
    /**
    * class for message dialog
    */
    class MessageDialog extends Dialog implements ActionListener {
    private Label message;
    private Button okButton;
    
    // Constructor
    public MessageDialog(Frame parent, String title, String messageString) {
    super(parent, title, true);
    setSize(400, 100);
    setLocation(150, 150);
    setLayout(new BorderLayout());
    
    message = new Label(messageString, Label.CENTER);
    add(message, BorderLayout.CENTER);
    
    Panel panel = new Panel(new FlowLayout(FlowLayout.CENTER));
    add(panel, BorderLayout.SOUTH);
    okButton = new Button(" OK ");
    okButton.addActionListener(this);
    panel.add(okButton);
    }
    
    // implementing ActionListener
    public void actionPerformed(ActionEvent event) {
    setVisible(false);
    dispose();
    }
    }
    
    /**
    * the main method
    */
    public static void main(String[] argv) {
    // create frame
    JavaEdit frame = new JavaEdit();
    Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
    frame.setSize(size.width-80, size.height-80);
    frame.setLocation(20, 20);
    
    // add window closing listener
    frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
    });
    
    // show the frame
    frame.setVisible(true);
    }
    }
    Last edited by brogramming_89; 04-12-2013 at 12:29 AM.

  2. #2
    chaucer345 is offline Member
    Join Date
    Dec 2012
    Posts
    44
    Rep Power
    0

    Default Re: Code Help

    Would you be so kind as to edit this to have code tags? It would make it much easier to read so we can help you.
    Like so:
    Java Code:
    String example;

  3. #3
    Join Date
    Apr 2013
    Posts
    3
    Rep Power
    0

    Default Re: Code Help

    I edited to the best of my ability. I need major help as where to start with the Save/Save As Implementation

    Complete the implementation for the Save and Save As menu items in the File menu. When Save As is selected, a file selection dialog box should be displayed and the text content saved to the file chosen. When Save is selected, the text content should be saved to the current file. If no current file exists, a dialog box should appear for file selection like Save As.
    Last edited by brogramming_89; 04-12-2013 at 12:28 AM.

  4. #4
    Join Date
    Apr 2013
    Posts
    3
    Rep Power
    0

Similar Threads

  1. Replies: 1
    Last Post: 03-25-2012, 02:40 AM
  2. Replies: 16
    Last Post: 01-31-2012, 08:36 PM
  3. Replies: 0
    Last Post: 08-07-2011, 08:32 PM
  4. Replies: 0
    Last Post: 02-21-2011, 11:50 AM
  5. Replies: 1
    Last Post: 04-26-2007, 03:52 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •