Thursday, 6 September 2012

Java Menu


Introduction of Java Menu


Programm

Save MyFrameListener.java

import java.awt.event.*;
class MyFrameListener extends WindowAdapter
{
	public void windowClosing(WindowEvent we)
	{
		System.exit(0);
	}
}


Save MyFrame.java 
 
import java.awt.*;
class MyFrame extends Frame implements ActionListener
{
	MenuBar menubar;
	Menu mnuFile;
	MenuItem itmNew, itmOpen, itmSave, itmSaveAs, itmExit;
	
	TextArea txtEditor;
	
	
	MyFrame()
	{
		super("Menu Demo");
		setSize(600,400);
		addMenu();
		addControls();
		addWindowListener(new MyWindowAdapter());
		setVisible(true);
	}
	
	private void addMenu()
	{
		menubar = new MenuBar();
		
		mnuFile = new Menu("File");
		
		itmNew = new MenuItem("New", new MenuShortcut(KeyEvent.VK_N));
		itmOpen = new MenuItem("Open", new MenuShortcut(KeyEvent.VK_O));
		itmSave = new MenuItem("Save", new MenuShortcut(KeyEvent.VK_S));
		itmSaveAs = new MenuItem("Save As");
		itmExit = new MenuItem("Exit", new MenuShortcut(KeyEvent.VK_X, true));
		
		mnuFile.add(itmNew);
		mnuFile.add(itmOpen);
		mnuFile.addSeparator();
		mnuFile.add(itmSave);
		mnuFile.add(itmSaveAs);
		mnuFile.addSeparator();
		mnuFile.add(itmExit);
				
		for (int i = 0;i<mnuFile.getItemCount(); i++)
			mnuFile.getItem(i).addActionListener(this);
		
		menubar.add(mnuFile);
		
		setMenuBar(menubar);
	}
	
	private void addControls()
	{
		txtEditor = new TextArea();
		add(txtEditor);
	}
	
	private boolean saveFile()
	{
		String fileName = "c:\\Sample.txt";
		boolean flag;
		
		String matter = txtEditor.getText();
		byte aByte[] = matter.getBytes();
		
		try
		{
			FileOutputStream fos = new FileOutputStream(fileName);
			fos.write(aByte);
			fos.flush();
			fos.close();
			flag = true;
		}
		catch (IOException exp){flag = false;}
		
		return flag;
	}
	
	public void actionPerformed(ActionEvent ae)
	{
		if (ae.getSource() == itmExit)
			System.exit(0);
		else if (ae.getSource() == itmSave)
			saveFile();
	}
}


Save GUI1.java

public class GUI1
{
	public static void main(String args[])
	{
		MyFrame mf = new MyFrame();
	}
}

No comments:

Post a Comment