Notepad in Java
import
javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class Assignment3 extends JFrame implements ActionListener
{
Container c;
ImageIcon
icon1;
JMenuBar
menubar;
JMenu file,
edit, format, view, help;
JMenuItem
fnew, fopen, fsave, fsaveas, fpagesetup, fprint, fexit;
JMenuItem
eundo, ecut, ecopy, epaste, efind, efindnext, ereplace, egoto, eseletall,
etimedate;
JMenuItem
frwordwrap, frfont, frcolor;
JMenuItem
vstatusbar;
JMenuItem
hhelptopics, haboutnotepad;
JToolBar tb;
ImageIcon
ic1, ic2, ic3, ic4, ic5, ic6, ic7, ic8;
JButton
btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8;
JFileChooser
chooser;
JColorChooser
colorch;
Color color;
JScrollPane
sp;
JTextArea
ta;
String st1;
Assignment3
()
{
chooser
= new JFileChooser();
colorch
= new JColorChooser ();
color
= new Color (0, 0, 0);
ta
= new JTextArea ();
ta.setForeground
(color);
sp
= new JScrollPane (ta);
st1="This
is creation of TUSHAR.\nCreated on 10:58 AM 5/10/2010.\n\nUsing JMenuBar,
JMenu, JMenuItem.";
c=getContentPane
();
menubar=new
JMenuBar ();
icon1=new
ImageIcon("ICON/1111.jpg");
file=new JMenu
("File");
edit=new
JMenu ("Edit");
format=new
JMenu ("Format");
view=new
JMenu ("View");
help=new
JMenu ("Help");
fnew=new
JMenuItem ("New");
fopen=new
JMenuItem ("Open");
fsave=new
JMenuItem ("Save");
fsaveas=new
JMenuItem ("Save As");
fpagesetup=new
JMenuItem ("Page Setup");
fprint=new
JMenuItem ("Print");
fexit=new
JMenuItem ("Exit");
eundo=new
JMenuItem ("Undo");
ecut=new
JMenuItem ("Cut");
ecopy=new
JMenuItem ("Copy");
epaste=new
JMenuItem ("Paste");
efind=new
JMenuItem ("Find");
efindnext=new
JMenuItem ("Find Next");
ereplace=new
JMenuItem ("Replace");
egoto=new
JMenuItem ("Goto");
eseletall=new
JMenuItem ("Select All");
etimedate=new
JMenuItem ("Time/Date");
frwordwrap=new
JMenuItem ("Word Wrap");
frfont=new
JMenuItem ("Font");
frcolor=new
JMenuItem ("Color");
vstatusbar=new
JMenuItem ("Status Bar");
hhelptopics=new
JMenuItem ("Help Topics");
haboutnotepad=new
JMenuItem ("About Notepad");
file.add
(fnew);
file.add
(fopen);
file.add
(fsave);
file.add
(fsaveas);
file.add
(new JSeparator () );
file.add
(fpagesetup);
file.add
(fprint);
file.add
(new JSeparator () );
file.add
(fexit);
menubar.add
(file);
edit.add
(eundo);
edit.add
(new JSeparator () );
edit.add
(ecut);
edit.add
(ecopy);
edit.add
(epaste);
edit.add
(new JSeparator () );
edit.add
(efind);
edit.add
(efindnext);
edit.add
(ereplace);
edit.add
(egoto);
edit.add
(new JSeparator () );
edit.add
(eseletall);
edit.add
(etimedate);
menubar.add
(edit);
format.add
(frwordwrap);
format.add
(frfont);
format.add
(frcolor);
menubar.add
(format);
view.add
(vstatusbar);
menubar.add
(view);
help.add
(hhelptopics);
help.add
(new JSeparator () );
help.add
(haboutnotepad);
menubar.add
(help);
myShortCuts();
setJMenuBar(menubar);
c.add
(addMyToolBar(), BorderLayout.NORTH);
c.add(sp,
BorderLayout.CENTER);
setSize
(600, 600);
setTitle
("Notepad with menu bar & ToolBar");
setLocation
(100, 100);
setDefaultCloseOperation
(EXIT_ON_CLOSE);
setVisible
(true);
haboutnotepad.addActionListener
(this);
fnew.addActionListener
(this);
fopen.addActionListener
(this);
fsave.addActionListener
(this);
frcolor.addActionListener
(this);
btn2.addActionListener
(this );
btn3.addActionListener
(this );
btn1.addActionListener
(this );
}
public
JToolBar addMyToolBar ()
{
tb=new
JToolBar ();
ic1=new
ImageIcon ("ICON/NEW.jpg");
ic2=new
ImageIcon ("ICON/OPEN.jpg");
ic3=new
ImageIcon ("ICON/SAVE.jpg");
ic4=new
ImageIcon ("ICON/PRINT.jpg");
ic5=new
ImageIcon ("ICON/CUT.jpg");
ic6=new
ImageIcon ("ICON/COPY.jpg");
ic7=new
ImageIcon ("ICON/PASTE.jpg");
ic8=new
ImageIcon ("ICON/UNDO.jpg");
btn1=new
JButton (ic1);
btn2=new
JButton (ic2);
btn3=new
JButton (ic3);
btn4=new JButton (ic4);
btn5=new JButton (ic5);
btn6=new
JButton (ic6);
btn7=new
JButton (ic7);
btn8=new
JButton (ic8);
tb.add
(btn1);
tb.add
(btn2);
tb.add
(btn3);
tb.add
(btn4);
tb.add
(btn5);
tb.add
(btn6);
tb.add
(btn7);
tb.add
(btn8);
return
tb;
}
public void
myShortCuts ()
{
/*****Creating
Short Cuts*****/
//---Allocating
Accelerator---//
KeyStroke
ks1 = KeyStroke.getKeyStroke ('N', Event.CTRL_MASK);
KeyStroke
ks2 = KeyStroke.getKeyStroke ('O', Event.CTRL_MASK);
KeyStroke
ks3 = KeyStroke.getKeyStroke ('S', Event.CTRL_MASK);
KeyStroke
ks4 = KeyStroke.getKeyStroke ('X', Event.CTRL_MASK);
KeyStroke
ks5 = KeyStroke.getKeyStroke ('C', Event.CTRL_MASK);
KeyStroke
ks6 = KeyStroke.getKeyStroke ('V', Event.CTRL_MASK);
KeyStroke
ks7 = KeyStroke.getKeyStroke
('C',Event.CTRL_MASK|Event.ALT_MASK);
fnew.setAccelerator
(ks1);
fopen.setAccelerator
(ks2);
fsave.setAccelerator
(ks3);
ecut.setAccelerator
(ks4);
ecopy.setAccelerator
(ks5);
epaste.setAccelerator
(ks6);
frcolor.setAccelerator
(ks7);
//---Allocating
Mnemonic's----//
file.setMnemonic
('F');
edit.setMnemonic
('E');
format.setMnemonic
('O');
view.setMnemonic
('V');
help.setMnemonic
('H');
fnew.setMnemonic
('N');
fopen.setMnemonic
('O');
fsave.setMnemonic
('S');
fsaveas.setMnemonic
('A');
fpagesetup.setMnemonic
('U');
fprint.setMnemonic
('P');
fexit.setMnemonic
('E');
eundo.setMnemonic
('U');
ecut.setMnemonic
('T');
ecopy.setMnemonic
('C');
epaste.setMnemonic
('P');
efind.setMnemonic
('F');
efindnext.setMnemonic
('N');
ereplace.setMnemonic
('R');
egoto.setMnemonic
('G');
eseletall.setMnemonic
('A');
etimedate.setMnemonic
('D');
frwordwrap.setMnemonic
('W');
frfont.setMnemonic
('F');
frcolor.setMnemonic
('C');
vstatusbar.setMnemonic
('S');
hhelptopics.setMnemonic
('H');
haboutnotepad.setMnemonic
('A');
}
public void actionPerformed
(ActionEvent ae)
{
if
(ae.getSource() == haboutnotepad)
{
JOptionPane.showMessageDialog(null,
st1,
"About
Notepad",
JOptionPane.INFORMATION_MESSAGE,
icon1);
}
if
(ae.getSource() == fnew || ae.getSource() == btn1)
ta.setText("");
if
(ae.getSource() == fopen || ae.getSource() == btn2 )
{
try
{
int
returnVal = chooser.showOpenDialog(this);
if
(returnVal == JFileChooser.APPROVE_OPTION)
{
FileReader
fr = new FileReader (chooser.getSelectedFile ());
BufferedReader
br = new BufferedReader(fr);
String
s;
ta.setText
("");
while((s
= br.readLine()) != null)
{
ta.append
("\n"+s);
}
fr.close();
}
}
catch
(Exception e){}
}
if (ae.getSource() ==
fsave || ae.getSource() == btn3 )
{
try
{
int
returnVal = chooser.showSaveDialog (this);
if
(returnVal == JFileChooser.APPROVE_OPTION)
{
FileWriter
fw = new FileWriter (chooser.getSelectedFile () );
String
str = ta.getText ();
char
[] buff = new char [ str.length() ];
str.getChars(0,
str.length(), buff, 0);
for
(int i=0; i < buff.length; i++)
{
if
(buff[i] == 13)
buff[i]=10;
fw.write(buff[i]);
}
//fw.write
(str, 0, str.length() );
fw.close
();
}
}
catch
(Exception e){}
}
if
(ae.getSource() == frcolor)
{
color
= colorch.showDialog (colorch, "Color Chooser", color);
ta.setForeground
(color);
}
}
public
static void main (String args [] )
{
new
Assignment3 ();
}
}
0 comments: