2017-02-16 11 views
0

このコードは、最初は基本的なテキストエディタである小さなアプリケーションを作成し、すべてのエディタで明らかになるドロップダウンファイルメニューを追加しました。 'new'、 'open'、 'save' 'ファイルをテキストエディタに保存する方法は?

既存のファイルと新しいファイルに保存する機能を追加する方法はありません。

import java.io.*; 
import java.awt.event.*; 
import javax.swing.*;  
import java.io.IOException; 
import java.nio.file.StandardOpenOption; 

public class Editor implements ActionListener 
{  

    boolean updateStatus; 
    Editor Jedtr; 
    boolean saved; 
    boolean newFileFlag; 
    String fileName;  
    static File fileRef; 


    JFrame f;  
    JMenuBar mb;  
    JMenu file,edit,help;  
    JMenuItem cut,copy,paste,selectAll,NewFile,Open,Save,SaveAs;  
    JTextArea ta; 


    Editor(){ 


     saved=true; 
     newFileFlag=true; 
     fileName=new String("Untitled"); 
     fileRef=new File(fileName); 

     Open=new JMenuItem("Open File");  
     Open.addActionListener(this);    
     file=new JMenu("File");  
     file.add(Open);    
     mb=new JMenuBar();  
     f=new JFrame();  
     cut=new JMenuItem("Cut");  
     copy=new JMenuItem("Copy");  
     paste=new JMenuItem("Paste");  
     selectAll=new JMenuItem("Select All");  

     ///////////////////////////////////////////////////////////////////////////////// 

     NewFile =new JMenuItem("New"); 
     Open=new JMenuItem("Open"); 
     Save=new JMenuItem("Save"); 
     SaveAs=new JMenuItem("Save As"); 

     /////////////////////////////////////////////////////////////////////////////////// 

     cut.addActionListener(this);  
     copy.addActionListener(this);  
     paste.addActionListener(this);  
     selectAll.addActionListener(this); 

     ///////////////////////////////////////////////////////////////////////////////////// 

     NewFile.addActionListener(this); 
     Open.addActionListener(this); 
     Save.addActionListener(this); 
     SaveAs.addActionListener(this); 

     ////////////////////////////////////////////////////////////////////////////////// 

     mb=new JMenuBar();  
     file=new JMenu("File");  
     edit=new JMenu("Edit");  
     help=new JMenu("Help");  
     file.add(NewFile);file.add(Open);file.add(Save);file.add(SaveAs);  
     edit.add(cut);edit.add(copy);edit.add(paste);edit.add(selectAll);  
     mb.add(file);mb.add(edit);mb.add(help);  

     /////////////////////////////////////////////////////////////////////////////////////// 

     ta=new JTextArea();  
     ta.setBounds(5,5,1200,1200);  
     f.add(mb);f.add(ta);  
     f.setJMenuBar(mb); 
     f.setLayout(null);  
     f.setSize(800,400);  
     f.setVisible(true); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    }  




    /////////////////////////////Action performed///////////////////////////////////////////////// 


    public void actionPerformed(ActionEvent e) 
    { 
     if(e.getSource()==cut)     
      ta.cut();        // to cut text. 
     else if(e.getSource()==paste) 
      ta.paste();        // to paste text. 
     else if(e.getSource()==copy) 
      ta.copy();        // to copy text. 
     else if(e.getSource()==selectAll) 
      ta.selectAll();      // to select text. 
     else if(e.getSource()==Open) 
     { 
      JFileChooser fc=new JFileChooser(); 
      int i=fc.showOpenDialog(f); 
      if(i==JFileChooser.APPROVE_OPTION) 
      { 
       File f=fc.getSelectedFile(); 
       String filepath=f.getPath(); 
       try 
       { 
        BufferedReader br=new BufferedReader(new FileReader(filepath)); 
        String s1="",s2=""; 
        while((s1=br.readLine())!=null) 
        { 
         s2+=s1+"\n"; 
        } 
        ta.setText(s2); 
        br.close(); 
       } 
       catch (Exception ex) 
       { 
        ex.printStackTrace(); 
       } 
      } 
     }          //to open an existing file 
     else if(e.getSource() == NewFile) 
     { 
      JFileChooser fc=new JFileChooser(); 
      int j=fc.showOpenDialog(f); 
      if (j==JFileChooser.CUSTOM_DIALOG); 

      System.out.println("New File"); 

      File file = new File("C:\\Android\\.txt"); 

      boolean result; 
      try { 
       // create a new file 
       result = file.createNewFile(); 
       // test if successfully created a new file 
       if(result){ 
        System.out.println("Successfully created "+file.getAbsolutePath()); 

       } 
       else{ 
        System.out.println("Filed creating "+file.getAbsolutePath()); 
       } 
      } 
       catch (IOException e1) { 
        // TODO Auto-generated catch block 
        e1.printStackTrace(); 
       } 
    }           // to create a new file. 

      else if(e.getSource()== SaveAs) 
      {         // what to specify here? 
       } 



      else if(e.getSource()==Save) 
      {         // what to specify here? 
      } 
} 




       /*private Object SaveAs(File temp) 
{ 
    // TODO Auto-generated method stub 
    return null; 
} 



/////////////////////////////////////////////////////////////////////////////////////////////// 


private void updateStatus(File temp, boolean b) 
{ 
    // TODO Auto-generated method stub 

}*/ 
       boolean isSave() 
       { 
        return saved;} 

       void setSave(boolean saved) 
       { 
        this.saved=saved; 
       } 

       String getFileName() 
       { 
        return new String(fileName); 
       } 

       void setFileName(String fileName) 
       { 
        this.fileName=new String(fileName); 
       } 

       ////-------File-------//////// 

       //public class File implements ActionListener{} 

       ////-------File-------//////// 

       /*public void actionPerformedf(ActionEvent O) {  
if(O.getSource()==Open){  
    JFileChooser fc=new JFileChooser();  
    int i=fc.showOpenDialog(f);  
    if(i==JFileChooser.APPROVE_OPTION){  
     File f=fc.getSelectedFile();  
     String filepath=f.getPath();  
     try{ 
     BufferedReader br=new BufferedReader(new FileReader(filepath));  
     String s1="",s2="";       
     while((s1=br.readLine())!=null){  
     s2+=s1+"\n";  
     }  
     ta.setText(s2);  
     br.close();  
     }catch (Exception ex) 
     { 
      ex.printStackTrace();   
     } 
    } 
    } 
    }*/  

       public static void main(String[] args) {  

        new Editor(); 

       }  
      } 
+0

1)「UPPER_CASE_CONSTANT」以外の名前付け規約(例: 'EachWordUpperCaseClass'、' firstWordLowerCaseMethod() '、' firstWordLowerCaseAttribute')をよく理解し、一貫して使用してください。 2)Java GUIは、異なるロケールで異なるPLAFを使用する異なるOS、画面サイズ、画面解像度などで動作する必要があります。したがって、ピクセルの完全なレイアウトには役立ちません。代わりに、レイアウトマネージャや[それらの組み合わせ](http://stackoverflow.com/a/5630271/418556)と[空白](http://stackoverflow.com/a/17874718/)のレイアウトパディングとボーダーを使用してください。 418556)。 –

+0

.. 3)インデントするコード行とブロックの論理的で一貫した形式を使用します。インデントは、コードの流れをより簡単にするためのものです。 4)エディタがテキストを読み込む方法は、より簡単に行うことができます。['JTextComponent.read(Reader、Object)'](http://docs.oracle.com/javase/8/docs/api/javax/詳細については、swing/text/JTextComponent.html#read-java.io.Reader-java.lang.Object-)を参照してください。** 5)テキストをファイルに保存する場合は、['JTextComponent.write(Writer)'](http: //docs.oracle.com/javase/8/docs/api/javax/swing/text/JTextComponent.html#write-java.io.Writer-),** .. –

+0

6)さらに役立つ場合は、あなたが立ち往生する場所についてより具体的にする必要があります。 –

答えて

0

アプレットはローカルファイルシステムにアクセスできません。近い将来、アプレットが全く存在しない場合、この問題は修正されます。 ありがとうOracle!

+0

'applet'が2回述べられている間、コードはアプリケーションを示します。私は質問を少しきれいにして(それを編集して)、より明確にしました。 –

関連する問題