Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //a simple notepad witch can open a file, save a file, clear the text and exit the program
- import java.awt.BorderLayout;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.PrintStream;
- import java.util.Scanner;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- @SuppressWarnings("serial")
- public class SimpleNotepad extends JFrame implements ActionListener {
- private final JButton btnExit, btnClear, btnSave, btnLoad;
- private final JTextArea txaInput;
- private final JTextField txtFileName;
- public SimpleNotepad(int x, int y){
- super("SimpleNotepad");
- final JPanel JPanelTop, JPanelBottom;
- final JScrollPane JScrollCenter;
- //Deklarerer
- btnExit = new JButton("Exit");
- btnClear = new JButton("Clear");
- btnSave = new JButton("Save");
- btnLoad = new JButton("Load");
- txaInput = new JTextArea();
- txtFileName = new JTextField();
- //paneler
- JPanelTop = new JPanel(new GridLayout(1, 2));
- JPanelBottom = new JPanel(new GridLayout(1, 4));
- //legger til scroll på txaInput
- JScrollCenter = new JScrollPane(txaInput);
- //add til øvre panel
- JPanelTop.add(new JLabel("Filnavn: "));
- JPanelTop.add(txtFileName);
- //add til nedre panel
- JPanelBottom.add(btnLoad);
- JPanelBottom.add(btnSave);
- JPanelBottom.add(btnClear);
- JPanelBottom.add(btnExit);
- //textwrapping
- txaInput.setLineWrap(true);
- txaInput.setWrapStyleWord(true);
- //Lytter etter forandring
- btnExit.addActionListener(this);
- btnClear.addActionListener(this);
- btnSave.addActionListener(this);
- btnLoad.addActionListener(this);
- txtFileName.addActionListener(this);
- //legger til panelene
- add(JPanelTop, BorderLayout.NORTH);
- add(JScrollCenter, BorderLayout.CENTER);
- add(JPanelBottom, BorderLayout.SOUTH);
- setSize(x,y);
- setVisible(true);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- }
- public static void main(String[] args) {
- //sender inn størrelsen på skjermen
- new SimpleNotepad(500,400);
- }
- public void actionPerformed(ActionEvent e) {
- final Object source = e.getSource();
- final File file = new File(txtFileName.getText());
- //Exitknapp
- if(source == btnExit){
- System.exit(0); // avslutter
- }
- //clearKnapp
- else if(source == btnClear){
- txaInput.setText(null); //fjerner teksten
- txtFileName.setText(null);
- }
- //saveknapp
- else if(source == btnSave){
- PrintStream pS = null;
- if(!file.exists()){ //tester om filen ikke finnes
- try {
- file.createNewFile(); //oppretter ny fil
- } catch (Exception e2) {}
- }
- try {
- pS = new PrintStream(file); //henter inn file som skal skrives til
- } catch (FileNotFoundException e1) {
- JOptionPane.showMessageDialog(null, "File can not be null"); //sier fra at du har gjort feil
- }
- if(pS != null){
- pS.print(txaInput.getText()); // skriver til filen
- pS.close(); //lukker filen
- }
- }
- //loadknapp, eller enter på filnavn txtfeltet
- else if(source == btnLoad || source == txtFileName){
- String tempText = "";
- Scanner filScanner = null;
- if(file.exists()){ //tester filen finnes
- try {
- filScanner = new Scanner(file); // henter inn filen som skal lese fra
- } catch (FileNotFoundException e1) {}
- while(filScanner.hasNextLine()){ //skjekker om det er flere linjer igjen
- tempText += filScanner.nextLine() + "\n"; //legger til hver linje inn i en string
- }
- txaInput.setText(tempText);// legger stingen inn i tekstarea
- filScanner.close(); // lukker filen
- }else{
- JOptionPane.showMessageDialog(null, "File do not exists");//sier fra hvis filen ikke finnes
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment