-
-
Save abhinav1592/4382110 to your computer and use it in GitHub Desktop.
package notepad; | |
import javax.swing.*; | |
import java.awt.*; | |
import java.awt.event.*; | |
import java.util.Scanner; | |
import java.io.*; | |
public class Notepad extends JFrame implements ActionListener { | |
private TextArea textArea = new TextArea("", 0,0, TextArea.SCROLLBARS_VERTICAL_ONLY); | |
private MenuBar menuBar = new MenuBar(); // first, create a MenuBar item | |
private Menu file = new Menu(); // our File menu | |
// what's going in File? let's see... | |
private MenuItem openFile = new MenuItem(); // an open option | |
private MenuItem saveFile = new MenuItem(); // a save option | |
private MenuItem close = new MenuItem(); // and a close option! | |
public Notepad() { | |
this.setSize(500, 300); // set the initial size of the window | |
this.setTitle("Java Notepad Tutorial"); // set the title of the window | |
setDefaultCloseOperation(EXIT_ON_CLOSE); // set the default close operation (exit when it gets closed) | |
this.textArea.setFont(new Font("Century Gothic", Font.BOLD, 12)); // set a default font for the TextArea | |
// this is why we didn't have to worry about the size of the TextArea! | |
this.getContentPane().setLayout(new BorderLayout()); // the BorderLayout bit makes it fill it automatically | |
this.getContentPane().add(textArea); | |
// add our menu bar into the GUI | |
this.setMenuBar(this.menuBar); | |
this.menuBar.add(this.file); // we'll configure this later | |
// first off, the design of the menuBar itself. Pretty simple, all we need to do | |
// is add a couple of menus, which will be populated later on | |
this.file.setLabel("File"); | |
// now it's time to work with the menu. I'm only going to add a basic File menu | |
// but you could add more! | |
// now we can start working on the content of the menu~ this gets a little repetitive, | |
// so please bare with me! | |
// time for the repetitive stuff. let's add the "Open" option | |
this.openFile.setLabel("Open"); // set the label of the menu item | |
this.openFile.addActionListener(this); // add an action listener (so we know when it's been clicked | |
this.openFile.setShortcut(new MenuShortcut(KeyEvent.VK_O, false)); // set a keyboard shortcut | |
this.file.add(this.openFile); // add it to the "File" menu | |
// and the save... | |
this.saveFile.setLabel("Save"); | |
this.saveFile.addActionListener(this); | |
this.saveFile.setShortcut(new MenuShortcut(KeyEvent.VK_S, false)); | |
this.file.add(this.saveFile); | |
// and finally, the close option | |
this.close.setLabel("Close"); | |
// along with our "CTRL+F4" shortcut to close the window, we also have | |
// the default closer, as stated at the beginning of this tutorial. | |
// this means that we actually have TWO shortcuts to close: | |
// 1) the default close operation (example, Alt+F4 on Windows) | |
// 2) CTRL+F4, which we are about to define now: (this one will appear in the label) | |
this.close.setShortcut(new MenuShortcut(KeyEvent.VK_F4, false)); | |
this.close.addActionListener(this); | |
this.file.add(this.close); | |
} | |
public void actionPerformed (ActionEvent e) { | |
// if the source of the event was our "close" option | |
if (e.getSource() == this.close) | |
this.dispose(); // dispose all resources and close the application | |
// if the source was the "open" option | |
else if (e.getSource() == this.openFile) { | |
JFileChooser open = new JFileChooser(); // open up a file chooser (a dialog for the user to browse files to open) | |
int option = open.showOpenDialog(this); // get the option that the user selected (approve or cancel) | |
// NOTE: because we are OPENing a file, we call showOpenDialog~ | |
// if the user clicked OK, we have "APPROVE_OPTION" | |
// so we want to open the file | |
if (option == JFileChooser.APPROVE_OPTION) { | |
this.textArea.setText(""); // clear the TextArea before applying the file contents | |
try { | |
// create a scanner to read the file (getSelectedFile().getPath() will get the path to the file) | |
Scanner scan = new Scanner(new FileReader(open.getSelectedFile().getPath())); | |
while (scan.hasNext()) // while there's still something to read | |
this.textArea.append(scan.nextLine() + "\n"); // append the line to the TextArea | |
} catch (Exception ex) { // catch any exceptions, and... | |
// ...write to the debug console | |
System.out.println(ex.getMessage()); | |
} | |
} | |
} | |
// and lastly, if the source of the event was the "save" option | |
else if (e.getSource() == this.saveFile) { | |
JFileChooser save = new JFileChooser(); // again, open a file chooser | |
int option = save.showSaveDialog(this); // similar to the open file, only this time we call | |
// showSaveDialog instead of showOpenDialog | |
// if the user clicked OK (and not cancel) | |
if (option == JFileChooser.APPROVE_OPTION) { | |
try { | |
// create a buffered writer to write to a file | |
BufferedWriter out = new BufferedWriter(new FileWriter(save.getSelectedFile().getPath())); | |
out.write(this.textArea.getText()); // write the contents of the TextArea to the file | |
out.close(); // close the file stream | |
} catch (Exception ex) { // again, catch any exceptions and... | |
// ...write to the debug console | |
System.out.println(ex.getMessage()); | |
} | |
} | |
} | |
} | |
// the main method, for actually creating our notepad and setting it to visible. | |
public static void main(String args[]) { | |
Notepad app = new Notepad(); | |
app.setVisible(true); | |
} | |
} | |
public class main{ | |
public static void main(String args[]){ | |
Notepad app=new Notepad(); | |
app.setVisible(true); | |
} | |
} |
why there are two public static void main?
Just remove the last the code will word beautifully!!!!
Nice Code!!!!!
The Navigator window is superb!!!!
Awesome! Looking great with bold texts.
how can I execute this code
please TELL HOW CAN I EXECUTE IT
Exception in thread "main" java.lang.NoClassDefFoundError: Notepad (wrong name: notepad/Notepad)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
can any one explain why this error occur?
Wow! I am seeing these comments after 8 years!!!
Exception in thread "main" java.lang.NoClassDefFoundError:
Refer to this: https://stackoverflow.com/questions/6334148/exception-in-thread-main-java-lang-noclassdeffounderror
When I created this way back in 2012, I was using netbeans/eclipse.....When you do it inside an IDE, it creates package name by default.
Remove the public static void main() part from the bottom and package name from the top.
https://gist.github.com/sahil-ahlawat/49e939eaaf7d71145cad
please TELL HOW CAN I EXECUTE IT
Refer to above comment.
Bro I executed in note++ and i did removed the last code you are saying.
But it gave same error on and on.
I tried to rename parent directory to notepad, cut paste main class in other file(didn't work though :/) , rename package name to Notepad, or
notepad .
Then i removed package notepad sentence and it worked , but only file menu was there in nav.
I dont know if its correct.
Plz reply i have to summit my java file tomorrow 😉
how can I execute this code
simplest way:
create a text file with this name - 'Notepad.java' on ur desktop,
then copy this code into it , also please remove line 1, and line 118-125,
then save file.
Then open terminal/cmd(windows), type these lines of commands one-by-one :
cd Desktop
javac Notepad.java
java Notepad
there is too many this keyword please explain the use of this keyword in this programme .thanks in advance