File "JFrameWithMenu.java"
Full Path: /home/analogde/www/Ebook/Informatique/JAVA/Source/workspace/JFrameWithMenu.java
File size: 3.14 KB
MIME-type: text/x-c
Charset: utf-8
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileReader;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
public class JFrameWithMenu extends JFrame {
JMenuBar mb ;
JMenu mfile, medit, mhelp;
JMenuItem minew, miopen, misave, miexit, miabout;
JTextArea jta;
JFileChooser fch;
public JFrameWithMenu() {
settingMenu();
jta = new JTextArea();
add(jta,BorderLayout.CENTER);
jta.setText("Testing text....");
setSize(400,400);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void settingMenu()
{
mb =new JMenuBar();
setJMenuBar(mb);
mfile = new JMenu("File"); medit = new JMenu("Edit");
mhelp = new JMenu("Help");
minew = new JMenuItem("New");
minew.setMnemonic('N');
miopen = new JMenuItem("Open");
misave = new JMenuItem("Save");
miexit = new JMenuItem("Exit");
mb.add(mfile); mb.add(medit); mb.add(mhelp);
mfile.add(minew); mfile.add(miopen); mfile.add(misave);
mfile.add(miexit);
//event to open a file
miopen.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
fch = new JFileChooser("d://");
int openfile =fch.showOpenDialog(miopen);
if (openfile==JFileChooser.APPROVE_OPTION)
{
File myfile =fch.getSelectedFile();
try {
FileReader fr = new FileReader(myfile);
char cbuf[] = new char[(int)myfile.length()];
fr.read(cbuf);
jta.setText(new String(cbuf));
} catch (Exception e) {
jta.setText(e.getMessage());
}
}
}
}
);
// event for exit item
miexit.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
System.exit(0);
}
}
);
}
}
//Application class to create JFrameWithMenu Object
public class JSwinMenuTesting {
public static void main(String[] args) {
new JFrameWithMenu();
}
}