OleVedeler

Simple notepad

May 6th, 2012
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.94 KB | None | 0 0
  1. //a simple notepad witch can open a file, save a file, clear the text and exit the program
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.GridLayout;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.io.File;
  8. import java.io.FileNotFoundException;
  9. import java.io.PrintStream;
  10. import java.util.Scanner;
  11. import javax.swing.JButton;
  12. import javax.swing.JFrame;
  13. import javax.swing.JLabel;
  14. import javax.swing.JOptionPane;
  15. import javax.swing.JPanel;
  16. import javax.swing.JScrollPane;
  17. import javax.swing.JTextArea;
  18. import javax.swing.JTextField;
  19.  
  20. @SuppressWarnings("serial")
  21. public class SimpleNotepad extends JFrame implements ActionListener {
  22.  
  23.     private final JButton btnExit, btnClear, btnSave, btnLoad;
  24.     private final JTextArea txaInput;
  25.     private final JTextField txtFileName;
  26.  
  27.     public SimpleNotepad(int x, int y){
  28.         super("SimpleNotepad");
  29.        
  30.         final JPanel JPanelTop, JPanelBottom;
  31.         final JScrollPane  JScrollCenter;
  32.         //Deklarerer
  33.         btnExit = new JButton("Exit");
  34.         btnClear = new JButton("Clear");
  35.         btnSave = new JButton("Save");
  36.         btnLoad = new JButton("Load");
  37.         txaInput = new JTextArea();
  38.         txtFileName = new JTextField();
  39.        
  40.         //paneler
  41.         JPanelTop = new JPanel(new GridLayout(1, 2));
  42.         JPanelBottom = new JPanel(new GridLayout(1, 4));
  43.        
  44.         //legger til scroll på txaInput
  45.         JScrollCenter = new JScrollPane(txaInput);
  46.        
  47.         //add til øvre panel
  48.         JPanelTop.add(new JLabel("Filnavn: "));
  49.         JPanelTop.add(txtFileName);
  50.        
  51.         //add til nedre panel
  52.         JPanelBottom.add(btnLoad);
  53.         JPanelBottom.add(btnSave);
  54.         JPanelBottom.add(btnClear);
  55.         JPanelBottom.add(btnExit);
  56.        
  57.         //textwrapping
  58.         txaInput.setLineWrap(true);
  59.         txaInput.setWrapStyleWord(true);
  60.        
  61.         //Lytter etter forandring
  62.         btnExit.addActionListener(this);
  63.         btnClear.addActionListener(this);
  64.         btnSave.addActionListener(this);
  65.         btnLoad.addActionListener(this);
  66.         txtFileName.addActionListener(this);
  67.        
  68.         //legger til panelene
  69.         add(JPanelTop, BorderLayout.NORTH);
  70.         add(JScrollCenter, BorderLayout.CENTER);
  71.         add(JPanelBottom, BorderLayout.SOUTH);
  72.        
  73.         setSize(x,y);
  74.         setVisible(true);
  75.        
  76.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  77.     }
  78.    
  79.     public static void main(String[] args) {
  80.         //sender inn størrelsen på skjermen
  81.         new SimpleNotepad(500,400);
  82.        
  83.     }
  84.  
  85.     public void actionPerformed(ActionEvent e) {
  86.        
  87.         final Object source = e.getSource();
  88.         final File file = new File(txtFileName.getText());
  89.        
  90.         //Exitknapp
  91.         if(source == btnExit){
  92.             System.exit(0); // avslutter
  93.         }
  94.         //clearKnapp
  95.         else if(source == btnClear){
  96.             txaInput.setText(null); //fjerner teksten
  97.             txtFileName.setText(null);
  98.         }
  99.         //saveknapp
  100.         else if(source == btnSave){
  101.  
  102.             PrintStream pS = null;
  103.             if(!file.exists()){ //tester om filen ikke finnes
  104.                 try {
  105.                     file.createNewFile(); //oppretter ny fil
  106.                 } catch (Exception e2) {}
  107.             }
  108.            
  109.             try {
  110.                 pS = new PrintStream(file); //henter inn file som skal skrives til
  111.             } catch (FileNotFoundException e1) {
  112.                 JOptionPane.showMessageDialog(null, "File can not be null"); //sier fra at du har gjort feil
  113.             }
  114.            
  115.             if(pS != null){
  116.                 pS.print(txaInput.getText()); // skriver til filen
  117.                 pS.close(); //lukker filen
  118.             }
  119.         }
  120.         //loadknapp, eller enter på filnavn txtfeltet
  121.         else if(source == btnLoad || source == txtFileName){
  122.             String tempText = "";
  123.             Scanner filScanner = null;
  124.             if(file.exists()){ //tester filen finnes
  125.                 try {
  126.                     filScanner = new Scanner(file); // henter inn filen som skal lese fra  
  127.                 } catch (FileNotFoundException e1) {}
  128.                
  129.                 while(filScanner.hasNextLine()){ //skjekker om det er flere linjer igjen
  130.                     tempText += filScanner.nextLine() + "\n"; //legger til hver linje inn i en string
  131.                 }
  132.                
  133.                 txaInput.setText(tempText);// legger stingen inn i tekstarea
  134.                 filScanner.close(); // lukker filen
  135.             }else{
  136.                 JOptionPane.showMessageDialog(null, "File do not exists");//sier fra hvis filen ikke finnes
  137.             }
  138.         }
  139.     }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment