import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class NotePadExam extends JFrame
{
 JFrame jf,jf2;
 JPanel jp1,jp2;
 JMenuBar jmb;
 JMenu jmFile;
 JMenuItem jmi_CreateNew,jmi_Open,jmi_Save,jmi_OtherSave,jmi_Exit;
 JLabel jlb1;
 JTextArea jta;
 ActionListener al;
 JDialog jd;

 public NotePadExam()
 {
 //super("메모장");
 try
 {
  
  //this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  //jf = new JFrame();
  jf = this; 
  jf.getContentPane().setLayout(new FlowLayout());
  //jf.getContentPane().setLayout(new BorderLayout());
  //jf = new JFrame();
  
  jp1 = new JPanel();
  jp2 = new JPanel();
  //jp1.setLayout(new FlowLayout());
  
  jmb = new JMenuBar();
  /*//////////////
  파일메뉴추가
  /*//////////////
  jmFile = new JMenu("파일");

  

  //jm=createMenuItem(jm,"열기");
  //jm=createMenuItem(jm,"저장");
  //jm=createMenuItem(jm,"다른이름으로 저장");
  //jm=createMenuItem(jm,"끝내기");
  
  
  jta = new JTextArea(10,25);
  //jta.setSize(30,50);
  
  //jd = new JDialog(this,"yes");
  //jd.setLayout(new FlowLayout());
  //jd.add(new Button("저장"));
  //jd.setSize(100,100);
  


  //jd.setVisible(true);
  //새로 만들기 이벤트 생성
  makeNewEvent(createMenuItem(jmFile,"새로만들기"),jta);

  //메뉴바추가
  jmb.add(jmFile);
  /*//////////////
  파일메뉴추가
  /*//////////////

  jp1.add(jmb);

  //jmb.setSize(50,200);
  //텍스트창추가
  jp2.add(jta);

  jf.add(jp1);
  jf.add(jp2);
  

  //add(jf);  
  //jf.getContentPane().add(jp1,BorderLayout.CENTER);
  //createDialogBOx(this);

  jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }
 catch (Exception ex)
 {
  ex.printStackTrace();
 }
 }

 public void makeNewEvent(JMenuItem jmim,final JTextArea jtaa)
 {
 //새파일 만들기 알고리즘////////////////////////////////////////////////////////////////////
 //새로만들기 메뉴아이템 이벤트 생성
 //1) 작업하던 문서가 없는 경우 바로 새문서 만듬///////////////////////////////////////////
 //2) 작업하던 문서가 있는 경우(저장 안했을 경우) 저장,저장안함,취소를 물어본후 1번 작업//
 //3) 작업하던 파일이 전과 비교했을 경우 변경된 게 없는 경우 이전 문서 닫고 새문서 만듬//
 ////////////////////////////////////////////////////////////////////////////////////////////
 al = new ActionListener()
 {
  public void actionPerformed(ActionEvent ae)
  {
   String msg[] = {"저장","저장안함","취소"};
   //일단 작업하던 문서가 있는 지 없는 지 체크함
   String str = jtaa.getText().trim();
   if(str.equals("") || str == null)
   {
    createNewDoc(jtaa);
   }
   else
   {
    //System.out.println("dddd");
    JOptionPane.showConfirmDialog(
            NotePadExam.this,
             "변경된 내용을 저장하시겠습니까?",
          "새로만들기",
             JOptionPane.YES_NO_CANCEL_OPTION,
          null,"저장","저장안함","취소"
            );
    //저장하던 문서가 있는경우 저장,저장안함,취소 물어봄
    
   }
   //System.out.println("새로만들기 클릭했음");
  }
 };

 jmim.addActionListener(al);


 }
 public static void createNewDoc(JTextArea jtaa)
 {
//  if(jf==null)
//  setTitle("");
  jtaa.setText("");

 }
 public JMenuItem createMenuItem(JMenu jmu,String name2)
 {
  //System.out.println("111111111");
  JMenuItem jmui = new JMenuItem(name2); 
  jmu.add(jmui);
  return jmui;
 }
 public static void main(String[] args)
 {
  NotePadExam npe = new NotePadExam();
  npe.setSize(300,300);
  npe.setVisible(true);

 //System.out.println("Hello World!");
 }
}

 

+ Recent posts