Monday, 13 April 2015

Example of Notepad

1.    import java.io.*;  
2.    import java.util.Date;  
3.    import java.awt.*;  
4.    import java.awt.event.*;  
5.    import javax.swing.*;  
6.    import javax.swing.event.*;  
7.      
8.    /************************************/  
9.    class FileOperation  
10. {  
11. Notepad npd;  
12.   
13. boolean saved;  
14. boolean newFileFlag;  
15. String fileName;  
16. String applicationTitle="Javapad";  
17.   
18. File fileRef;  
19. JFileChooser chooser;  
20. /////////////////////////////  
21. boolean isSave(){return saved;}  
22. void setSave(boolean saved){this.saved=saved;}  
23. String getFileName(){return new String(fileName);}  
24. void setFileName(String fileName){this.fileName=new String(fileName);}  
25. /////////////////////////  
26. FileOperation(Notepad npd)  
27. {  
28. this.npd=npd;  
29.   
30. saved=true;  
31. newFileFlag=true;  
32. fileName=new String("Untitled");  
33. fileRef=new File(fileName);  
34. this.npd.f.setTitle(fileName+" - "+applicationTitle);  
35.   
36. chooser=new JFileChooser();  
37. chooser.addChoosableFileFilter(new MyFileFilter(".java","Java Source Files(*.java)"));  
38. chooser.addChoosableFileFilter(new MyFileFilter(".txt","Text Files(*.txt)"));  
39. chooser.setCurrentDirectory(new File("."));  
40.   
41. }  
42. //////////////////////////////////////  
43.   
44. boolean saveFile(File temp)  
45. {  
46. FileWriter fout=null;  
47. try  
48. {  
49. fout=new FileWriter(temp);  
50. fout.write(npd.ta.getText());  
51. }  
52. catch(IOException ioe){updateStatus(temp,false);return false;}  
53. finally  
54. {try{fout.close();}catch(IOException excp){}}  
55. updateStatus(temp,true);  
56. return true;  
57. }  
58. ////////////////////////  
59. boolean saveThisFile()  
60. {  
61.   
62. if(!newFileFlag)  
63.     {return saveFile(fileRef);}  
64.   
65. return saveAsFile();  
66. }  
67. ////////////////////////////////////  
68. boolean saveAsFile()  
69. {  
70. File temp=null;  
71. chooser.setDialogTitle("Save As...");  
72. chooser.setApproveButtonText("Save Now");   
73. chooser.setApproveButtonMnemonic(KeyEvent.VK_S);  
74. chooser.setApproveButtonToolTipText("Click me to save!");  
75.   
76. do  
77. {  
78. if(chooser.showSaveDialog(this.npd.f)!=JFileChooser.APPROVE_OPTION)  
79.     return false;  
80. temp=chooser.getSelectedFile();  
81. if(!temp.exists()) break;  
82. if(   JOptionPane.showConfirmDialog(  
83.     this.npd.f,"<html>"+temp.getPath()+" already exists.<br>Do you want to replace it?<html>",  
84.     "Save As",JOptionPane.YES_NO_OPTION  
85.                 )==JOptionPane.YES_OPTION)  
86.     break;  
87. }while(true);  
88.   
89.   
90. return saveFile(temp);  
91. }  
92.   
93. ////////////////////////  
94. boolean openFile(File temp)  
95. {  
96. FileInputStream fin=null;  
97. BufferedReader din=null;  
98.   
99. try  
100.       {  
101.       fin=new FileInputStream(temp);  
102.       din=new BufferedReader(new InputStreamReader(fin));  
103.       String str=" ";  
104.       while(str!=null)  
105.       {  
106.       str=din.readLine();  
107.       if(str==null)  
108.       break;  
109.       this.npd.ta.append(str+"\n");  
110.       }  
111.         
112.       }  
113.       catch(IOException ioe){updateStatus(temp,false);return false;}  
114.       finally  
115.       {try{din.close();fin.close();}catch(IOException excp){}}  
116.       updateStatus(temp,true);  
117.       this.npd.ta.setCaretPosition(0);  
118.       return true;  
119.       }  
120.       ///////////////////////  
121.       void openFile()  
122.       {  
123.       if(!confirmSave()) return;  
124.       chooser.setDialogTitle("Open File...");  
125.       chooser.setApproveButtonText("Open this");   
126.       chooser.setApproveButtonMnemonic(KeyEvent.VK_O);  
127.       chooser.setApproveButtonToolTipText("Click me to open the selected file.!");  
128.         
129.       File temp=null;  
130.       do  
131.       {  
132.       if(chooser.showOpenDialog(this.npd.f)!=JFileChooser.APPROVE_OPTION)  
133.           return;  
134.       temp=chooser.getSelectedFile();  
135.         
136.       if(temp.exists())   break;  
137.         
138.       JOptionPane.showMessageDialog(this.npd.f,  
139.           "<html>"+temp.getName()+"<br>file not found.<br>"+  
140.           "Please verify the correct file name was given.<html>",  
141.           "Open", JOptionPane.INFORMATION_MESSAGE);  
142.         
143.       while(true);  
144.         
145.       this.npd.ta.setText("");  
146.         
147.       if(!openFile(temp))  
148.           {  
149.           fileName="Untitled"; saved=true;   
150.           this.npd.f.setTitle(fileName+" - "+applicationTitle);  
151.           }  
152.       if(!temp.canWrite())  
153.           newFileFlag=true;  
154.         
155.       }  
156.       ////////////////////////  
157.       void updateStatus(File temp,boolean saved)  
158.       {  
159.       if(saved)  
160.       {  
161.       this.saved=true;  
162.       fileName=new String(temp.getName());  
163.       if(!temp.canWrite())  
164.           {fileName+="(Read only)"; newFileFlag=true;}  
165.       fileRef=temp;  
166.       npd.f.setTitle(fileName + " - "+applicationTitle);  
167.       npd.statusBar.setText("File : "+temp.getPath()+" saved/opened successfully.");  
168.       newFileFlag=false;  
169.       }  
170.       else  
171.       {  
172.       npd.statusBar.setText("Failed to save/open : "+temp.getPath());  
173.       }  
174.       }  
175.       ///////////////////////  
176.       boolean confirmSave()  
177.       {  
178.       String strMsg="<html>The text in the "+fileName+" file has been changed.<br>"+  
179.           "Do you want to save the changes?<html>";  
180.       if(!saved)  
181.       {  
182.       int x=JOptionPane.showConfirmDialog(this.npd.f,strMsg,applicationTitle,  
183.       JOptionPane.YES_NO_CANCEL_OPTION);  
184.         
185.       if(x==JOptionPane.CANCEL_OPTION) return false;  
186.       if(x==JOptionPane.YES_OPTION && !saveAsFile()) return false;  
187.       }  
188.       return true;  
189.       }  
190.       ///////////////////////////////////////  
191.       void newFile()  
192.       {  
193.       if(!confirmSave()) return;  
194.         
195.       this.npd.ta.setText("");  
196.       fileName=new String("Untitled");  
197.       fileRef=new File(fileName);  
198.       saved=true;  
199.       newFileFlag=true;  
200.       this.npd.f.setTitle(fileName+" - "+applicationTitle);  
201.       }  
202.       //////////////////////////////////////  
203.       }// end defination of class FileOperation  
204.       /************************************/  
205.       public class Notepad  implements ActionListener, MenuConstants  
206.       {  
207.         
208.       JFrame f;  
209.       JTextArea ta;  
210.       JLabel statusBar;  
211.         
212.       private String fileName="Untitled";  
213.       private boolean saved=true;  
214.       String applicationName="Javapad";  
215.         
216.       String searchString, replaceString;  
217.       int lastSearchIndex;  
218.         
219.       FileOperation fileHandler;  
220.       FontChooser fontDialog=null;  
221.       FindDialog findReplaceDialog=null;   
222.       JColorChooser bcolorChooser=null;  
223.       JColorChooser fcolorChooser=null;  
224.       JDialog backgroundDialog=null;  
225.       JDialog foregroundDialog=null;  
226.       JMenuItem cutItem,copyItem, deleteItem, findItem, findNextItem,  
227.       replaceItem, gotoItem, selectAllItem;  
228.       /****************************/  
229.       Notepad()  
230.       {  
231.       f=new JFrame(fileName+" - "+applicationName);  
232.       ta=new JTextArea(30,60);  
233.       statusBar=new JLabel("||       Ln 1, Col 1  ",JLabel.RIGHT);  
234.       f.add(new JScrollPane(ta),BorderLayout.CENTER);  
235.       f.add(statusBar,BorderLayout.SOUTH);  
236.       f.add(new JLabel("  "),BorderLayout.EAST);  
237.       f.add(new JLabel("  "),BorderLayout.WEST);  
238.       createMenuBar(f);  
239.       //f.setSize(350,350);  
240.       f.pack();  
241.       f.setLocation(100,50);  
242.       f.setVisible(true);  
243.       f.setLocation(150,50);  
244.       f.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);  
245.         
246.       fileHandler=new FileOperation(this);  
247.         
248.       /////////////////////  
249.         
250.       ta.addCaretListener(  
251.       new CaretListener()  
252.       {  
253.       public void caretUpdate(CaretEvent e)  
254.       {  
255.       int lineNumber=0, column=0, pos=0;  
256.         
257.       try  
258.       {  
259.       pos=ta.getCaretPosition();  
260.       lineNumber=ta.getLineOfOffset(pos);  
261.       column=pos-ta.getLineStartOffset(lineNumber);  
262.       }catch(Exception excp){}  
263.       if(ta.getText().length()==0){lineNumber=0; column=0;}  
264.       statusBar.setText("||       Ln "+(lineNumber+1)+", Col "+(column+1));  
265.       }  
266.       });  
267.       //////////////////  
268.       DocumentListener myListener = new DocumentListener()  
269.       {  
270.       public void changedUpdate(DocumentEvent e){fileHandler.saved=false;}  
271.       public void removeUpdate(DocumentEvent e){fileHandler.saved=false;}  
272.       public void insertUpdate(DocumentEvent e){fileHandler.saved=false;}  
273.       };  
274.       ta.getDocument().addDocumentListener(myListener);  
275.       /////////  
276.       WindowListener frameClose=new WindowAdapter()  
277.       {  
278.       public void windowClosing(WindowEvent we)  
279.       {  
280.       if(fileHandler.confirmSave())System.exit(0);  
281.       }  
282.       };  
283.       f.addWindowListener(frameClose);  
284.       //////////////////  
285.       /* 
286.       ta.append("Hello dear hello hi"); 
287.       ta.append("\nwho are u dear mister hello"); 
288.       ta.append("\nhello bye hel"); 
289.       ta.append("\nHello"); 
290.       ta.append("\nMiss u mister hello hell"); 
291.       fileHandler.saved=true; 
292.       */  
293.       }  
294.       ////////////////////////////////////  
295.       void goTo()  
296.       {  
297.       int lineNumber=0;  
298.       try  
299.       {  
300.       lineNumber=ta.getLineOfOffset(ta.getCaretPosition())+1;  
301.       String tempStr=JOptionPane.showInputDialog(f,"Enter Line Number:",""+lineNumber);  
302.       if(tempStr==null)  
303.           {return;}  
304.       lineNumber=Integer.parseInt(tempStr);  
305.       ta.setCaretPosition(ta.getLineStartOffset(lineNumber-1));  
306.       }catch(Exception e){}  
307.       }  
308.       ///////////////////////////////////  
309.       public void actionPerformed(ActionEvent ev)  
310.       {  
311.       String cmdText=ev.getActionCommand();  
312.       ////////////////////////////////////  
313.       if(cmdText.equals(fileNew))  
314.           fileHandler.newFile();  
315.       else if(cmdText.equals(fileOpen))  
316.           fileHandler.openFile();  
317.       ////////////////////////////////////  
318.       else if(cmdText.equals(fileSave))  
319.           fileHandler.saveThisFile();  
320.       ////////////////////////////////////  
321.       else if(cmdText.equals(fileSaveAs))  
322.           fileHandler.saveAsFile();  
323.       ////////////////////////////////////  
324.       else if(cmdText.equals(fileExit))  
325.           {if(fileHandler.confirmSave())System.exit(0);}  
326.       ////////////////////////////////////  
327.       else if(cmdText.equals(filePrint))  
328.       JOptionPane.showMessageDialog(  
329.           Notepad.this.f,  
330.           "Get ur printer repaired first! It seems u dont have one!",  
331.           "Bad Printer",  
332.           JOptionPane.INFORMATION_MESSAGE  
333.           );  
334.       ////////////////////////////////////  
335.       else if(cmdText.equals(editCut))  
336.           ta.cut();  
337.       ////////////////////////////////////  
338.       else if(cmdText.equals(editCopy))  
339.           ta.copy();  
340.       ////////////////////////////////////  
341.       else if(cmdText.equals(editPaste))  
342.           ta.paste();  
343.       ////////////////////////////////////  
344.       else if(cmdText.equals(editDelete))  
345.           ta.replaceSelection("");  
346.       ////////////////////////////////////  
347.       else if(cmdText.equals(editFind))  
348.       {  
349.       if(Notepad.this.ta.getText().length()==0)  
350.           return// text box have no text  
351.       if(findReplaceDialog==null)  
352.           findReplaceDialog=new FindDialog(Notepad.this.ta);  
353.       findReplaceDialog.showDialog(Notepad.this.f,true);//find  
354.       }  
355.       ////////////////////////////////////  
356.       else if(cmdText.equals(editFindNext))  
357.       {  
358.       if(Notepad.this.ta.getText().length()==0)  
359.           return// text box have no text  
360.         
361.       if(findReplaceDialog==null)  
362.           statusBar.setText("Use Find option of Edit Menu first !!!!");  
363.       else  
364.           findReplaceDialog.findNextWithSelection();  
365.       }  
366.       ////////////////////////////////////  
367.       else if(cmdText.equals(editReplace))  
368.       {  
369.       if(Notepad.this.ta.getText().length()==0)  
370.           return// text box have no text  
371.         
372.       if(findReplaceDialog==null)  
373.           findReplaceDialog=new FindDialog(Notepad.this.ta);  
374.       findReplaceDialog.showDialog(Notepad.this.f,false);//replace  
375.       }  
376.       ////////////////////////////////////  
377.       else if(cmdText.equals(editGoTo))  
378.       {  
379.       if(Notepad.this.ta.getText().length()==0)  
380.           return// text box have no text  
381.       goTo();  
382.       }  
383.       ////////////////////////////////////  
384.       else if(cmdText.equals(editSelectAll))  
385.           ta.selectAll();  
386.       ////////////////////////////////////  
387.       else if(cmdText.equals(editTimeDate))  
388.           ta.insert(new Date().toString(),ta.getSelectionStart());  
389.       ////////////////////////////////////  
390.       else if(cmdText.equals(formatWordWrap))  
391.       {  
392.       JCheckBoxMenuItem temp=(JCheckBoxMenuItem)ev.getSource();  
393.       ta.setLineWrap(temp.isSelected());  
394.       }  
395.       ////////////////////////////////////  
396.       else if(cmdText.equals(formatFont))  
397.       {  
398.       if(fontDialog==null)  
399.           fontDialog=new FontChooser(ta.getFont());  
400.         
401.       if(fontDialog.showDialog(Notepad.this.f,"Choose a font"))  
402.           Notepad.this.ta.setFont(fontDialog.createFont());  
403.       }  
404.       ////////////////////////////////////  
405.       else if(cmdText.equals(formatForeground))  
406.           showForegroundColorDialog();  
407.       ////////////////////////////////////  
408.       else if(cmdText.equals(formatBackground))  
409.           showBackgroundColorDialog();  
410.       ////////////////////////////////////  
411.         
412.       else if(cmdText.equals(viewStatusBar))  
413.       {  
414.       JCheckBoxMenuItem temp=(JCheckBoxMenuItem)ev.getSource();  
415.       statusBar.setVisible(temp.isSelected());  
416.       }  
417.       ////////////////////////////////////  
418.       else if(cmdText.equals(helpAboutNotepad))  
419.       {  
420.       JOptionPane.showMessageDialog(Notepad.this.f,aboutText,"Dedicated 2 u!",  
421.       JOptionPane.INFORMATION_MESSAGE);  
422.       }  
423.       else  
424.           statusBar.setText("This "+cmdText+" command is yet to be implemented");  
425.       }//action Performed  
426.       ////////////////////////////////////  
427.       void showBackgroundColorDialog()  
428.       {  
429.       if(bcolorChooser==null)  
430.           bcolorChooser=new JColorChooser();  
431.       if(backgroundDialog==null)  
432.           backgroundDialog=JColorChooser.createDialog  
433.               (Notepad.this.f,  
434.               formatBackground,  
435.               false,  
436.               bcolorChooser,  
437.               new ActionListener()  
438.               {public void actionPerformed(ActionEvent evvv){  
439.                   Notepad.this.ta.setBackground(bcolorChooser.getColor());}},  
440.               null);        
441.         
442.       backgroundDialog.setVisible(true);  
443.       }  
444.       ////////////////////////////////////  
445.       void showForegroundColorDialog()  
446.       {  
447.       if(fcolorChooser==null)  
448.           fcolorChooser=new JColorChooser();  
449.       if(foregroundDialog==null)  
450.           foregroundDialog=JColorChooser.createDialog  
451.               (Notepad.this.f,  
452.               formatForeground,  
453.               false,  
454.               fcolorChooser,  
455.               new ActionListener()  
456.               {public void actionPerformed(ActionEvent evvv){  
457.                   Notepad.this.ta.setForeground(fcolorChooser.getColor());}},  
458.               null);        
459.         
460.       foregroundDialog.setVisible(true);  
461.       }  
462.         
463.       ///////////////////////////////////  
464.       JMenuItem createMenuItem(String s, int key,JMenu toMenu,ActionListener al)  
465.       {  
466.       JMenuItem temp=new JMenuItem(s,key);  
467.       temp.addActionListener(al);  
468.       toMenu.add(temp);  
469.         
470.       return temp;  
471.       }  
472.       ////////////////////////////////////  
473.       JMenuItem createMenuItem(String s, int key,JMenu toMenu,int aclKey,ActionListener al)  
474.       {  
475.       JMenuItem temp=new JMenuItem(s,key);  
476.       temp.addActionListener(al);  
477.       temp.setAccelerator(KeyStroke.getKeyStroke(aclKey,ActionEvent.CTRL_MASK));  
478.       toMenu.add(temp);  
479.         
480.       return temp;  
481.       }  
482.       ////////////////////////////////////  
483.       JCheckBoxMenuItem createCheckBoxMenuItem(String s,  
484.        int key,JMenu toMenu,ActionListener al)  
485.       {  
486.       JCheckBoxMenuItem temp=new JCheckBoxMenuItem(s);  
487.       temp.setMnemonic(key);  
488.       temp.addActionListener(al);  
489.       temp.setSelected(false);  
490.       toMenu.add(temp);  
491.         
492.       return temp;  
493.       }  
494.       ////////////////////////////////////  
495.       JMenu createMenu(String s,int key,JMenuBar toMenuBar)  
496.       {  
497.       JMenu temp=new JMenu(s);  
498.       temp.setMnemonic(key);  
499.       toMenuBar.add(temp);  
500.       return temp;  
501.       }  
502.       /*********************************/  
503.       void createMenuBar(JFrame f)  
504.       {  
505.       JMenuBar mb=new JMenuBar();  
506.       JMenuItem temp;  
507.         
508.       JMenu fileMenu=createMenu(fileText,KeyEvent.VK_F,mb);  
509.       JMenu editMenu=createMenu(editText,KeyEvent.VK_E,mb);  
510.       JMenu formatMenu=createMenu(formatText,KeyEvent.VK_O,mb);  
511.       JMenu viewMenu=createMenu(viewText,KeyEvent.VK_V,mb);  
512.       JMenu helpMenu=createMenu(helpText,KeyEvent.VK_H,mb);  
513.         
514.       createMenuItem(fileNew,KeyEvent.VK_N,fileMenu,KeyEvent.VK_N,this);  
515.       createMenuItem(fileOpen,KeyEvent.VK_O,fileMenu,KeyEvent.VK_O,this);  
516.       createMenuItem(fileSave,KeyEvent.VK_S,fileMenu,KeyEvent.VK_S,this);  
517.       createMenuItem(fileSaveAs,KeyEvent.VK_A,fileMenu,this);  
518.       fileMenu.addSeparator();  
519.       temp=createMenuItem(filePageSetup,KeyEvent.VK_U,fileMenu,this);  
520.       temp.setEnabled(false);  
521.       createMenuItem(filePrint,KeyEvent.VK_P,fileMenu,KeyEvent.VK_P,this);  
522.       fileMenu.addSeparator();  
523.       createMenuItem(fileExit,KeyEvent.VK_X,fileMenu,this);  
524.         
525.       temp=createMenuItem(editUndo,KeyEvent.VK_U,editMenu,KeyEvent.VK_Z,this);  
526.       temp.setEnabled(false);  
527.       editMenu.addSeparator();  
528.       cutItem=createMenuItem(editCut,KeyEvent.VK_T,editMenu,KeyEvent.VK_X,this);  
529.       copyItem=createMenuItem(editCopy,KeyEvent.VK_C,editMenu,KeyEvent.VK_C,this);  
530.       createMenuItem(editPaste,KeyEvent.VK_P,editMenu,KeyEvent.VK_V,this);  
531.       deleteItem=createMenuItem(editDelete,KeyEvent.VK_L,editMenu,this);  
532.       deleteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));  
533.       editMenu.addSeparator();  
534.       findItem=createMenuItem(editFind,KeyEvent.VK_F,editMenu,KeyEvent.VK_F,this);  
535.       findNextItem=createMenuItem(editFindNext,KeyEvent.VK_N,editMenu,this);  
536.       findNextItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F3,0));  
537.       replaceItem=createMenuItem(editReplace,KeyEvent.VK_R,editMenu,KeyEvent.VK_H,this);  
538.       gotoItem=createMenuItem(editGoTo,KeyEvent.VK_G,editMenu,KeyEvent.VK_G,this);  
539.       editMenu.addSeparator();  
540.       selectAllItem=createMenuItem(editSelectAll,KeyEvent.VK_A,editMenu,KeyEvent.VK_A,this);  
541.       createMenuItem(editTimeDate,KeyEvent.VK_D,editMenu,this)  
542.       .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));  
543.         
544.       createCheckBoxMenuItem(formatWordWrap,KeyEvent.VK_W,formatMenu,this);  
545.         
546.       createMenuItem(formatFont,KeyEvent.VK_F,formatMenu,this);  
547.       formatMenu.addSeparator();  
548.       createMenuItem(formatForeground,KeyEvent.VK_T,formatMenu,this);  
549.       createMenuItem(formatBackground,KeyEvent.VK_P,formatMenu,this);  
550.         
551.       createCheckBoxMenuItem(viewStatusBar,KeyEvent.VK_S,viewMenu,this).setSelected(true);  
552.       /************For Look and Feel***/  
553.       LookAndFeelMenu.createLookAndFeelMenuItem(viewMenu,this.f);  
554.         
555.         
556.       temp=createMenuItem(helpHelpTopic,KeyEvent.VK_H,helpMenu,this);  
557.       temp.setEnabled(false);  
558.       helpMenu.addSeparator();  
559.       createMenuItem(helpAboutNotepad,KeyEvent.VK_A,helpMenu,this);  
560.         
561.       MenuListener editMenuListener=new MenuListener()  
562.       {  
563.          public void menuSelected(MenuEvent evvvv)  
564.           {  
565.           if(Notepad.this.ta.getText().length()==0)  
566.           {  
567.           findItem.setEnabled(false);  
568.           findNextItem.setEnabled(false);  
569.           replaceItem.setEnabled(false);  
570.           selectAllItem.setEnabled(false);  
571.           gotoItem.setEnabled(false);  
572.           }  
573.           else  
574.           {  
575.           findItem.setEnabled(true);  
576.           findNextItem.setEnabled(true);  
577.           replaceItem.setEnabled(true);  
578.           selectAllItem.setEnabled(true);  
579.           gotoItem.setEnabled(true);  
580.           }  
581.           if(Notepad.this.ta.getSelectionStart()==ta.getSelectionEnd())  
582.           {  
583.           cutItem.setEnabled(false);  
584.           copyItem.setEnabled(false);  
585.           deleteItem.setEnabled(false);  
586.           }  
587.           else  
588.           {  
589.           cutItem.setEnabled(true);  
590.           copyItem.setEnabled(true);  
591.           deleteItem.setEnabled(true);  
592.           }  
593.           }  
594.          public void menuDeselected(MenuEvent evvvv){}  
595.          public void menuCanceled(MenuEvent evvvv){}  
596.       };  
597.       editMenu.addMenuListener(editMenuListener);  
598.       f.setJMenuBar(mb);  
599.       }  
600.       /*************Constructor**************/  
601.       ////////////////////////////////////  
602.       public static void main(String[] s)  
603.       {  
604.       new Notepad();  
605.       }  
606.       }  
607.       /**************************************/  
608.       //public  
609.       interface MenuConstants  
610.       {  
611.       final String fileText="File";  
612.       final String editText="Edit";  
613.       final String formatText="Format";  
614.       final String viewText="View";  
615.       final String helpText="Help";  
616.         
617.       final String fileNew="New";  
618.       final String fileOpen="Open...";  
619.       final String fileSave="Save";  
620.       final String fileSaveAs="Save As...";  
621.       final String filePageSetup="Page Setup...";  
622.       final String filePrint="Print";  
623.       final String fileExit="Exit";  
624.         
625.       final String editUndo="Undo";  
626.       final String editCut="Cut";  
627.       final String editCopy="Copy";  
628.       final String editPaste="Paste";  
629.       final String editDelete="Delete";  
630.       final String editFind="Find...";  
631.       final String editFindNext="Find Next";  
632.       final String editReplace="Replace";  
633.       final String editGoTo="Go To...";  
634.       final String editSelectAll="Select All";  
635.       final String editTimeDate="Time/Date";  
636.         
637.       final String formatWordWrap="Word Wrap";  
638.       final String formatFont="Font...";  
639.       final String formatForeground="Set Text color...";  
640.       final String formatBackground="Set Pad color...";  
641.         
642.       final String viewStatusBar="Status Bar";  
643.         
644.       final String helpHelpTopic="Help Topic";  
645.       final String helpAboutNotepad="About Javapad";  
646.         
647.       final String aboutText="Your Javapad";  
648.       }  

No comments:

Post a Comment

Access attributes in component

NOTE: To access an attribute in a  component , use expressions as  {! v.<Attribute Name>} . ----------------------------------------...