How to create a save and open jmenu item in java desktop application.
Here is a simple JMenuItem example in java swing through which you can perform open and save operations on File.
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
public class SwingMenu{
final JTextArea txtArea=new JTextArea(0,0);
JFrame frame = new JFrame();
String Filename;
String filename;
public static void main(String[] args) {
SwingMenu s = new SwingMenu();
}
void ReadFile()
{
BufferedReader d;
StringBuffer sb = new StringBuffer();
try
{
d = new BufferedReader(new FileReader(filename));
String line;
while((line=d.readLine())!=null)
sb.append(line + "\n");
txtArea.setText(sb.toString());
d.close();
}
catch(FileNotFoundException fe)
{
System.out.println("File not Found");
}
catch(IOException ioe){}
}
public SwingMenu(){
JScrollPane scroll=new JScrollPane(txtArea);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menubar = new JMenuBar();
JMenu filemenu = new JMenu("File");
JMenuItem fileItem1 = new JMenuItem("Open");
JMenuItem fileItem2 = new JMenuItem("Save");
filemenu.add(fileItem1);
filemenu.add(fileItem2);
menubar.add(filemenu);
fileItem1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
FileDialog fd = new FileDialog(frame, "select File",FileDialog.LOAD);
fd.show();
if (fd.getFile()!=null)
{
filename = fd.getDirectory() + fd.getFile();
frame.setTitle(filename);
ReadFile();
}
txtArea.requestFocus();
}
});
fileItem2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
FileDialog fd = new FileDialog(frame,"Save File",FileDialog.SAVE);
fd.show();
if (fd.getFile()!=null)
{
filename = fd.getDirectory() + fd.getFile();
frame.setTitle(filename);
try
{
DataOutputStream d = new DataOutputStream(new FileOutputStream(filename));
String line = txtArea.getText();
BufferedReader br = new BufferedReader(new StringReader(line));
while((line = br.readLine())!=null)
{
d.writeBytes(line + "\r\n");
}
d.close();
}
catch(Exception ex)
{
System.out.println("File not found");
}
txtArea.requestFocus();
}
}
});
frame.setJMenuBar(menubar);
frame.add(txtArea);
frame.setSize(400,400);
frame.setVisible(true);
}
}
Here is a simple JMenuItem example in java swing through which you can perform open and save operations on File.
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
public class SwingMenu{
final JTextArea txtArea=new JTextArea(0,0);
JFrame frame = new JFrame();
String Filename;
String filename;
public static void main(String[] args) {
SwingMenu s = new SwingMenu();
}
void ReadFile()
{
BufferedReader d;
StringBuffer sb = new StringBuffer();
try
{
d = new BufferedReader(new FileReader(filename));
String line;
while((line=d.readLine())!=null)
sb.append(line + "\n");
txtArea.setText(sb.toString());
d.close();
}
catch(FileNotFoundException fe)
{
System.out.println("File not Found");
}
catch(IOException ioe){}
}
public SwingMenu(){
JScrollPane scroll=new JScrollPane(txtArea);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menubar = new JMenuBar();
JMenu filemenu = new JMenu("File");
JMenuItem fileItem1 = new JMenuItem("Open");
JMenuItem fileItem2 = new JMenuItem("Save");
filemenu.add(fileItem1);
filemenu.add(fileItem2);
menubar.add(filemenu);
fileItem1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
FileDialog fd = new FileDialog(frame, "select File",FileDialog.LOAD);
fd.show();
if (fd.getFile()!=null)
{
filename = fd.getDirectory() + fd.getFile();
frame.setTitle(filename);
ReadFile();
}
txtArea.requestFocus();
}
});
fileItem2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
FileDialog fd = new FileDialog(frame,"Save File",FileDialog.SAVE);
fd.show();
if (fd.getFile()!=null)
{
filename = fd.getDirectory() + fd.getFile();
frame.setTitle(filename);
try
{
DataOutputStream d = new DataOutputStream(new FileOutputStream(filename));
String line = txtArea.getText();
BufferedReader br = new BufferedReader(new StringReader(line));
while((line = br.readLine())!=null)
{
d.writeBytes(line + "\r\n");
}
d.close();
}
catch(Exception ex)
{
System.out.println("File not found");
}
txtArea.requestFocus();
}
}
});
frame.setJMenuBar(menubar);
frame.add(txtArea);
frame.setSize(400,400);
frame.setVisible(true);
}
}